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()
