diff --git a/nose2-0.14.0.tar.gz b/nose2-0.14.0.tar.gz deleted file mode 100644 index 5735ed2..0000000 --- a/nose2-0.14.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c28d770a0b9a702862bd6c3755ba2cd2f7994dd518c982e5ce298d7f37466a4 -size 167278 diff --git a/nose2-0.14.1.tar.gz b/nose2-0.14.1.tar.gz new file mode 100644 index 0000000..0cb050c --- /dev/null +++ b/nose2-0.14.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f8f03a21c9de2c33015933afcef72bf8e4a2d5dfec3b40092287de6e41b093a +size 166944 diff --git a/python-nose2.changes b/python-nose2.changes index 1dff563..6537ba5 100644 --- a/python-nose2.changes +++ b/python-nose2.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Fri Feb 9 21:43:46 UTC 2024 - Dirk Müller + +- update to 0.14.1: + * Fix the reporting of skipped tests in verbose mode on newer + pythons (3.12.1+), in which a skipped test is no longer + treated as "started". nose2 will not introduce a + StartTestEvent in such cases -- the fix is narrowly and + adjustment to the test reporter. + * Fix the reporting of skipped tests in verbose mode on newer + pythons (3.12.1+), in which a skipped test is no longer + treated as "started". + * nose2 will not introduce a StartTestEvent in such cases -- + the fix is narrowly and adjustment to the test reporter. +- drop support-python312.patch (upstream) + ------------------------------------------------------------------- Mon Jan 8 05:39:22 UTC 2024 - Steve Kowalik diff --git a/python-nose2.spec b/python-nose2.spec index 86fbdee..28608ff 100644 --- a/python-nose2.spec +++ b/python-nose2.spec @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-nose2 -Version: 0.14.0 +Version: 0.14.1 Release: 0 Summary: The successor to the Python testing framework nose, based on unittest License: BSD-2-Clause AND Python-2.0 @@ -26,8 +26,6 @@ URL: https://github.com/nose-devs/nose2 Source: https://files.pythonhosted.org/packages/source/n/nose2/nose2-%{version}.tar.gz # Required for testsuite. Bring on python-wheel-wheel Source1: https://files.pythonhosted.org/packages/c7/c3/55076fc728723ef927521abaa1955213d094933dc36d4a2008d5101e1af5/wheel-0.42.0-py3-none-any.whl -# PATCH-FIX-UPSTREAM Based on gh#nose-devs/nose2#593 -Patch0: support-python312.patch BuildRequires: %{python_module coverage} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools-wheel} @@ -36,7 +34,7 @@ BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives Suggests: python-coverage BuildArch: noarch %python_subpackages diff --git a/support-python312.patch b/support-python312.patch deleted file mode 100644 index 6ba5581..0000000 --- a/support-python312.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 58cbe5ff35e2cc0633e7ff7c46d48a66d597a025 Mon Sep 17 00:00:00 2001 -From: Stephen Rosen -Date: Thu, 21 Dec 2023 20:25:22 -0600 -Subject: [PATCH 1/2] Fix verbose reporting of skipped tests - -On 3.12.1+, unittest doesn't call `startTest` for skipped tests. This -is treated as a fix to how tests are counted, which is why it appeared -in a point release. - -Because the nose2 path for test reporting uses the test result methods -as the point of connection between `unittest` and nose2 plugins, -losing the `startTest` call in this case means that the reporter -plugin doesn't emit proper output. - -The test result object now tracks whether or not a test has been -started, and the reporter will check this attribute to ensure that the -skipped test output is correct. ---- - docs/changelog.rst | 6 ++++++ - nose2/plugins/result.py | 12 +++++++++--- - nose2/result.py | 4 ++++ - nose2/tests/functional/test_junitxml_plugin.py | 2 +- - 4 files changed, 20 insertions(+), 4 deletions(-) - -diff --git a/docs/changelog.rst b/docs/changelog.rst -index 18ec30f5..5e1c46c1 100644 ---- a/docs/changelog.rst -+++ b/docs/changelog.rst -@@ -13,6 +13,12 @@ testsuites. - Unreleased - ---------- - -+* Fix the reporting of skipped tests in verbose mode on newer pythons (3.12.1+), -+ in which a skipped test is no longer treated as "started". -+ -+ ``nose2`` will not introduce a ``StartTestEvent`` in such cases -- -+ the fix is narrowly and adjustment to the test reporter. -+ - 0.14.0 (2023-10-04) - ------------------- - -diff --git a/nose2/plugins/result.py b/nose2/plugins/result.py -index fe953129..fb95ec7a 100644 ---- a/nose2/plugins/result.py -+++ b/nose2/plugins/result.py -@@ -80,6 +80,9 @@ def testOutcome(self, event): - etc) - - """ -+ if not event.result.test_started: -+ self._show_test_description(self.stream, event.test) -+ - if event.outcome == result.ERROR: - self.reportCategories["errors"].append(event) - self._reportError(event) -@@ -145,11 +148,14 @@ def _reportStartTest(self, event): - self.session.hooks.reportStartTest(evt) - if evt.handled: - return -+ self._show_test_description(evt.stream, event.test) -+ -+ def _show_test_description(self, stream, test): - if self.session.verbosity > 1: - # allow other plugins to override/spy on stream -- evt.stream.write(self._getDescription(event.test, errorList=False)) -- evt.stream.write(" ... ") -- evt.stream.flush() -+ stream.write(self._getDescription(test, errorList=False)) -+ stream.write(" ... ") -+ stream.flush() - - def _reportError(self, event): - self._report(event, "reportError", "E", "ERROR") -diff --git a/nose2/result.py b/nose2/result.py -index 48adc22a..fe19e8b1 100644 ---- a/nose2/result.py -+++ b/nose2/result.py -@@ -31,6 +31,9 @@ def __init__(self, session): - self.shouldStop = False - # XXX TestCase.subTest expects a result.failfast attribute - self.failfast = False -+ # track whether or not the test actually started -+ # (in py3.12.1+ a skipped test is not started) -+ self.test_started = False - - def startTest(self, test): - """Start a test case. -@@ -40,6 +43,7 @@ def startTest(self, test): - """ - event = events.StartTestEvent(test, self, time.time()) - self.session.hooks.startTest(event) -+ self.test_started = True - - def stopTest(self, test): - """Stop a test case. -diff --git a/nose2/tests/functional/test_junitxml_plugin.py b/nose2/tests/functional/test_junitxml_plugin.py -index acd175d8..1b289dd2 100644 ---- a/nose2/tests/functional/test_junitxml_plugin.py -+++ b/nose2/tests/functional/test_junitxml_plugin.py -@@ -161,7 +161,7 @@ def test_skip_reason_in_message(self): - - self.assertTestRunOutputMatches( - proc, -- stderr=r"test \(test_junitxml_skip_reason.Test" -+ stderr=r"test \(test_junitxml_skip_reason\.Test" - + _method_name() - + r"\) \.* skip", - )