Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pytest-spec for 
openSUSE:Factory checked in at 2026-02-24 15:39:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-spec (Old)
 and      /work/SRC/openSUSE:Factory/.python-pytest-spec.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pytest-spec"

Tue Feb 24 15:39:25 2026 rev:9 rq:1334609 version:6.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-spec/python-pytest-spec.changes    
2025-09-30 17:43:45.840741695 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pytest-spec.new.1977/python-pytest-spec.changes
  2026-02-24 15:40:05.246116176 +0100
@@ -1,0 +2,12 @@
+Tue Feb 24 01:03:57 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Update to 6.0.0:
+  * Update pytest hook implementation marker to use pluggy API
+  * Drop support for pytest 4.x.x
+  * Drop support for pytest 5.x.x
+  * Added support for pytest 9.x.x
+  * Drop support for Python 3.9
+  * Added support for Python 3.14
+  * Improved class name and patameter string
+
+-------------------------------------------------------------------

Old:
----
  pytest_spec-5.1.0.tar.gz

New:
----
  _scmsync.obsinfo
  build.specials.obscpio
  pytest_spec-6.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pytest-spec.spec ++++++
--- /var/tmp/diff_new_pack.UrayQa/_old  2026-02-24 15:40:05.794138856 +0100
+++ /var/tmp/diff_new_pack.UrayQa/_new  2026-02-24 15:40:05.798139021 +0100
@@ -18,12 +18,13 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-pytest-spec
-Version:        5.1.0
+Version:        6.0.0
 Release:        0
 Summary:        Plugin to display pytest execution output like a specification
 License:        GPL-2.0-only
 URL:            https://github.com/pchomik/pytest-spec
 Source:         
https://files.pythonhosted.org/packages/source/p/pytest-spec/pytest_spec-%{version}.tar.gz
+BuildRequires:  %{python_module base >= 3.9}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module wheel}
@@ -31,7 +32,7 @@
 BuildRequires:  python-rpm-macros
 BuildArch:      noarch
 # SECTION test requirements
-BuildRequires:  %{python_module pytest}
+BuildRequires:  %{python_module pytest >= 6}
 # /SECTION
 %python_subpackages
 

++++++ _scmsync.obsinfo ++++++
mtime: 1771895044
commit: ee8c601b2c9ad72bc68e9537e97154f6a97b8ccde4ddb7f246b89e31cc9d95b4
url: https://src.opensuse.org/python-pytest/python-pytest-spec.git
revision: ee8c601b2c9ad72bc68e9537e97154f6a97b8ccde4ddb7f246b89e31cc9d95b4
projectscmsync: https://src.opensuse.org/python-pytest/_ObsPrj.git

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-02-24 02:14:20.000000000 +0100
@@ -0,0 +1 @@
+.osc

++++++ pytest_spec-5.1.0.tar.gz -> pytest_spec-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/.github/workflows/release.yml 
new/pytest_spec-6.0.0/.github/workflows/release.yml
--- old/pytest_spec-5.1.0/.github/workflows/release.yml 2025-09-08 
20:06:23.000000000 +0200
+++ new/pytest_spec-6.0.0/.github/workflows/release.yml 2026-02-22 
22:27:20.000000000 +0100
@@ -9,7 +9,7 @@
         strategy:
             fail-fast: false
             matrix:
-                python-version: [3.9]
+                python-version: ["3.10"]
                 os: [ubuntu-latest]
         runs-on: ${{ matrix.os }}
         environment: release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/.github/workflows/test.yml 
new/pytest_spec-6.0.0/.github/workflows/test.yml
--- old/pytest_spec-5.1.0/.github/workflows/test.yml    2025-09-08 
20:06:23.000000000 +0200
+++ new/pytest_spec-6.0.0/.github/workflows/test.yml    2026-02-22 
22:27:20.000000000 +0100
@@ -7,7 +7,7 @@
         strategy:
             fail-fast: false
             matrix:
-                python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
+                python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
         runs-on: ubuntu-latest
         steps:
             - uses: actions/checkout@v4
@@ -40,7 +40,7 @@
             - name: Install uv
               uses: astral-sh/setup-uv@v5
               with:
-                  python-version: 3.9
+                  python-version: "3.10"
 
             - name: Install projects
               run: uv sync --all-extras --dev
@@ -52,7 +52,7 @@
         strategy:
             fail-fast: false
             matrix:
-                pytest-version: [4.6.11, 5.4.3, 6.2.5, 7.4.4, 8.4.0]
+                pytest-version: [6.2.5, 7.4.4, 8.4.2, 9.0.2]
         runs-on: ubuntu-latest
         steps:
             - uses: actions/checkout@v4
@@ -60,7 +60,7 @@
             - name: Install uv
               uses: astral-sh/setup-uv@v5
               with:
-                  python-version: 3.9
+                  python-version: "3.10"
 
             - name: Install projects
               run: uv sync --all-extras --dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/CHANGES.txt 
new/pytest_spec-6.0.0/CHANGES.txt
--- old/pytest_spec-5.1.0/CHANGES.txt   2025-09-08 20:06:23.000000000 +0200
+++ new/pytest_spec-6.0.0/CHANGES.txt   2026-02-22 22:27:20.000000000 +0100
@@ -1,3 +1,14 @@
+v.6.0.0
+- Update pytest hook implementation marker to use pluggy API
+- Drop support for pytest 4.x.x
+- Drop support for pytest 5.x.x
+- Added support for pytest 9.x.x
+- Drop support for Python 3.9
+- Added support for Python 3.14
+
+v.5.2.0
+- Improved class name and patameter string
+
 v.5.1.0
 - Added support for multiline docstrings
 - Fixed case for class names
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/PKG-INFO 
new/pytest_spec-6.0.0/PKG-INFO
--- old/pytest_spec-5.1.0/PKG-INFO      2025-09-08 20:06:47.059300400 +0200
+++ new/pytest_spec-6.0.0/PKG-INFO      2026-02-22 22:27:42.545077800 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: pytest-spec
-Version: 5.1.0
+Version: 6.0.0
 Summary: Library pytest-spec is a pytest plugin to display test execution 
output like a SPECIFICATION.
 Author-email: Pawel Chomicki <[email protected]>
 License: GPL-2.0-or-later
@@ -14,11 +14,11 @@
 Classifier: Operating System :: POSIX
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Topic :: Software Development :: Libraries
 Classifier: Topic :: Software Development :: Testing
 Classifier: Topic :: Utilities
@@ -359,6 +359,7 @@
 -   [@paxcodes](https://github.com/paxcodes)
 -   [@s-t-e-v-e-n-k](https://github.com/s-t-e-v-e-n-k)
 -   [@yk-kd](https://github.com/yk-kd)
+-   [@benfairless](https://github.com/benfairless)
 
 ## License
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/README.md 
new/pytest_spec-6.0.0/README.md
--- old/pytest_spec-5.1.0/README.md     2025-09-08 20:06:23.000000000 +0200
+++ new/pytest_spec-6.0.0/README.md     2026-02-22 22:27:20.000000000 +0100
@@ -326,6 +326,7 @@
 -   [@paxcodes](https://github.com/paxcodes)
 -   [@s-t-e-v-e-n-k](https://github.com/s-t-e-v-e-n-k)
 -   [@yk-kd](https://github.com/yk-kd)
+-   [@benfairless](https://github.com/benfairless)
 
 ## License
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/pyproject.toml 
new/pytest_spec-6.0.0/pyproject.toml
--- old/pytest_spec-5.1.0/pyproject.toml        2025-09-08 20:06:23.000000000 
+0200
+++ new/pytest_spec-6.0.0/pyproject.toml        2026-02-22 22:27:20.000000000 
+0100
@@ -7,7 +7,7 @@
 
 [project]
 name = "pytest-spec"
-version = "5.1.0"
+version = "6.0.0"
 authors = [{ name = "Pawel Chomicki", email = "[email protected]" }]
 description = "Library pytest-spec is a pytest plugin to display test 
execution output like a SPECIFICATION."
 readme = "README.md"
@@ -20,11 +20,11 @@
     "Operating System :: POSIX",
     "Programming Language :: Python :: 3",
     "Programming Language :: Python :: 3 :: Only",
-    "Programming Language :: Python :: 3.9",
     "Programming Language :: Python :: 3.10",
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
+    "Programming Language :: Python :: 3.14",
     "Topic :: Software Development :: Libraries",
     "Topic :: Software Development :: Testing",
     "Topic :: Utilities",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/pytest_spec/patch.py 
new/pytest_spec-6.0.0/pytest_spec/patch.py
--- old/pytest_spec-5.1.0/pytest_spec/patch.py  2025-09-08 20:06:23.000000000 
+0200
+++ new/pytest_spec-6.0.0/pytest_spec/patch.py  2026-02-22 22:27:20.000000000 
+0100
@@ -12,6 +12,16 @@
 from _pytest.nodes import Item
 from _pytest.reports import TestReport
 
+BOUNDARIES_REGEXP = re.compile(
+    r"""
+        (?<=[A-Z])(?=[A-Z][a-z]) # Split between acronyms and words, e.g. 
"PDFFile" -> "PDF File"
+        |(?<=[a-z])(?=[A-Z])     # Split between words
+        |(?<=[A-Za-z])(?=[0-9])  # Split between letters and numbers
+        |(?<=[0-9])(?=[A-Za-z])  # Split between numbers and letters
+    """,
+    re.VERBOSE,
+)
+
 
 def pytest_runtest_logstart(self, nodeid: str, location: Tuple[str, int, str]) 
-> None:
     """Signal the start of running a single test item.
@@ -108,11 +118,11 @@
 
 
 def prettify(string: str) -> str:
-    return 
_capitalize_first_letter(_split_words(_replace_underscores(_remove_test_container_prefix(_remove_file_extension(string)))))
+    return 
_capitalize_first_letter(_split_boundaries(_replace_underscores(_remove_test_container_prefix(_remove_file_extension(string)))))
 
 
-def _split_words(string: str):
-    return re.sub(r"(\w)([A-Z])", r"\1 \2", string).strip()
+def _split_boundaries(string: str) -> str:
+    return BOUNDARIES_REGEXP.sub(" ", string)
 
 
 def prettify_test(string: str) -> str:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/pytest_spec/plugin.py 
new/pytest_spec-6.0.0/pytest_spec/plugin.py
--- old/pytest_spec-5.1.0/pytest_spec/plugin.py 2025-09-08 20:06:23.000000000 
+0200
+++ new/pytest_spec-6.0.0/pytest_spec/plugin.py 2026-02-22 22:27:20.000000000 
+0100
@@ -75,7 +75,7 @@
         importlib.reload(_pytest)
 
 
[email protected]
[email protected](hookwrapper=True)
 def pytest_runtest_makereport(item: Item, call: CallInfo) -> Any:
     """Adds docstring summary to the report."""
     outcome = yield
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/pytest_spec.egg-info/PKG-INFO 
new/pytest_spec-6.0.0/pytest_spec.egg-info/PKG-INFO
--- old/pytest_spec-5.1.0/pytest_spec.egg-info/PKG-INFO 2025-09-08 
20:06:47.000000000 +0200
+++ new/pytest_spec-6.0.0/pytest_spec.egg-info/PKG-INFO 2026-02-22 
22:27:42.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: pytest-spec
-Version: 5.1.0
+Version: 6.0.0
 Summary: Library pytest-spec is a pytest plugin to display test execution 
output like a SPECIFICATION.
 Author-email: Pawel Chomicki <[email protected]>
 License: GPL-2.0-or-later
@@ -14,11 +14,11 @@
 Classifier: Operating System :: POSIX
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Topic :: Software Development :: Libraries
 Classifier: Topic :: Software Development :: Testing
 Classifier: Topic :: Utilities
@@ -359,6 +359,7 @@
 -   [@paxcodes](https://github.com/paxcodes)
 -   [@s-t-e-v-e-n-k](https://github.com/s-t-e-v-e-n-k)
 -   [@yk-kd](https://github.com/yk-kd)
+-   [@benfairless](https://github.com/benfairless)
 
 ## License
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest_spec-5.1.0/test/test_patch.py 
new/pytest_spec-6.0.0/test/test_patch.py
--- old/pytest_spec-5.1.0/test/test_patch.py    2025-09-08 20:06:23.000000000 
+0200
+++ new/pytest_spec-6.0.0/test/test_patch.py    2026-02-22 22:27:20.000000000 
+0100
@@ -128,12 +128,24 @@
         pytest_runtest_logreport(fake_self, 
FakeReport("Test::Second::test__example"))
         fake_self._tw.write.assert_has_calls([call("Second:"), call("  ✓ 
Example", green=True)])
 
-    def 
test__pytest_runtest_logreport__honors_capitalization_of_words_in_test_name(
-        self,
-    ):
-        fake_self = FakeSelf()
-        pytest_runtest_logreport(fake_self, 
FakeReport("Test::Second::test_example_Demo_CamelCase"))
-        fake_self._tw.write.assert_has_calls([call("Second:"), call("  ✓ 
Example Demo Camel Case", green=True)])
+    def 
test__pytest_runtest_logreport__honors_different_type_of_baundaries_between_words(self):
+        cases = [
+            ("Demo_CamelCase", "Demo Camel Case"),
+            ("PDFFile", "PDF File"),
+            ("camelCase", "Camel Case"),
+            ("PascalCase", "Pascal Case"),
+            ("lowerACRONYM", "Lower ACRONYM"),
+            ("Word123", "Word 123"),
+            ("123Word", "123 Word"),
+            ("Office365API", "Office 365 API"),
+            ("ACRONYM", "ACRONYM"),
+            ("ACRONYMletter", "ACRONY Mletter"),
+        ]
+        for test_suffix, expected_result in cases:
+            with self.subTest(test_suffix=test_suffix, 
expected_result=expected_result):
+                fake_self = FakeSelf()
+                pytest_runtest_logreport(fake_self, 
FakeReport(f"Test::Second::test_{test_suffix}"))
+                fake_self._tw.write.assert_has_calls([call("Second:"), call(f" 
 ✓ {expected_result}", green=True)])
 
     def test__pytest_runtest_longreport__uses_docstring_summary(self):
         fake_self = FakeSelf()

Reply via email to