python-nose fails to build with Python 3.11.0b1. ====================================================================== FAIL: Doctest: nose.plugins.errorclass ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib64/python3.11/doctest.py", line 2217, in runTest raise self.failureException(self.format_failure(new.getvalue())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Failed doctest test for nose.plugins.errorclass File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/plugins/errorclass.py", line 0, in errorclass ---------------------------------------------------------------------- File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/plugins/errorclass.py", line 68, in nose.plugins.errorclass Failed example: _ = case(result) # doctest: +ELLIPSIS Expected: runTest (....TestTodo) ... TODO: I need to test something Got: runTest (nose.plugins.errorclass.TestTodo.runTest) ... TODO: I need to test something ---------------------------------------------------------------------- File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/plugins/errorclass.py", line 79, in nose.plugins.errorclass Failed example: result.printErrors() # doctest: +ELLIPSIS Expected: <BLANKLINE> ====================================================================== TODO: runTest (....TestTodo) ---------------------------------------------------------------------- Traceback (most recent call last): ... ...Todo: I need to test something <BLANKLINE> Got: <BLANKLINE> ====================================================================== TODO: runTest (nose.plugins.errorclass.TestTodo.runTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "<doctest nose.plugins.errorclass[7]>", line 3, in runTest raise Todo("I need to test something") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ nose.plugins.errorclass.Todo: I need to test something <BLANKLINE> ====================================================================== FAIL: Doctest: imported_tests.rst ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib64/python3.11/doctest.py", line 2217, in runTest raise self.failureException(self.format_failure(new.getvalue())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Failed doctest test for imported_tests.rst File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/doc_tests/test_issue145/imported_tests.rst", line 0 ---------------------------------------------------------------------- File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/doc_tests/test_issue145/imported_tests.rst", line 43, in imported_tests.rst Failed example: run(argv=argv) # doctest: +REPORT_NDIFF Differences (ndiff with -expected +actual): package1 setup - test (package1.test_module.TestCase) ... ok + test (package1.test_module.TestCase.test) ... ok ? +++++ package1.test_module.TestClass.test_class ... ok package1.test_module.test_function ... ok package2c setup - test (package2c.test_module.TestCase) ... ok + test (package2c.test_module.TestCase.test) ... ok ? +++++ package2c.test_module.TestClass.test_class ... ok package2f setup package2f.test_module.test_function ... ok <BLANKLINE> ---------------------------------------------------------------------- Ran 6 tests in ...s <BLANKLINE> OK ---------------------------------------------------------------------- File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/doc_tests/test_issue145/imported_tests.rst", line 72, in imported_tests.rst Failed example: run(argv=argv) # doctest: +REPORT_NDIFF Differences (ndiff with -expected +actual): package2c setup - test (package2c.test_module.TestCase) ... ok + test (package2c.test_module.TestCase.test) ... ok ? +++++ package2c.test_module.TestClass.test_class ... ok <BLANKLINE> ---------------------------------------------------------------------- Ran 2 tests in ...s <BLANKLINE> OK ---------------------------------------------------------------------- File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/doc_tests/test_issue145/imported_tests.rst", line 99, in imported_tests.rst Failed example: run(argv=argv) # doctest: +REPORT_NDIFF Differences (ndiff with -expected +actual): package2c setup - test (package2c.test_module.TestCase) ... ok + test (package2c.test_module.TestCase.test) ... ok ? +++++ <BLANKLINE> ---------------------------------------------------------------------- Ran 1 test in ...s <BLANKLINE> OK ====================================================================== FAIL: Doctest: selector_plugin.rst ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib64/python3.11/doctest.py", line 2217, in runTest raise self.failureException(self.format_failure(new.getvalue())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Failed doctest test for selector_plugin.rst File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/doc_tests/test_selector_plugin/selector_plugin.rst", line 0 ---------------------------------------------------------------------- File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/doc_tests/test_selector_plugin/selector_plugin.rst", line 110, in selector_plugin.rst Failed example: run(argv=argv, plugins=[UseMySelector()]) Expected: test_add (basic.TestBasicMath) ... ok test_sub (basic.TestBasicMath) ... ok test_tuple_groups (my_function.MyFunction) ... ok test_cat (cat.StringsCat) ... ok <BLANKLINE> ---------------------------------------------------------------------- Ran 4 tests in ...s <BLANKLINE> OK Got: test_add (basic.TestBasicMath.test_add) ... ok test_sub (basic.TestBasicMath.test_sub) ... ok test_tuple_groups (my_function.MyFunction.test_tuple_groups) ... ok test_cat (cat.StringsCat.test_cat) ... ok <BLANKLINE> ---------------------------------------------------------------------- Ran 4 tests in ...s <BLANKLINE> OK ====================================================================== FAIL: runTest (test_attribute_plugin.TestClassAndMethodAttrs.runTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/test_attribute_plugin.py", line 23, in runTest self.verify() ^^^^^^^^^^^^^ File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/test_attribute_plugin.py", line 153, in verify assert '(test_attr.TestClassAndMethodAttrs) ... ok' in self.output ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: -------------------- >> begin captured stdout << --------------------- ********************************************************************** test_method (test_attr.TestClassAndMethodAttrs.test_method) ... ok ---------------------------------------------------------------------- Ran 1 test in 0.005s OK ********************************************************************** --------------------- >> end captured stdout << ---------------------- ====================================================================== FAIL: runTest (test_attribute_plugin.TestTopLevelNotSelected.runTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/test_attribute_plugin.py", line 23, in runTest self.verify() ^^^^^^^^^^^^^ File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/test_attribute_plugin.py", line 169, in verify assert 'test_a (test.TestBase) ... ok' in self.output ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: -------------------- >> begin captured stdout << --------------------- ********************************************************************** test_a (test.TestBase.test_a) ... ok test.test_b ... ok ---------------------------------------------------------------------- Ran 2 tests in 0.009s OK ********************************************************************** --------------------- >> end captured stdout << ---------------------- ====================================================================== FAIL: runTest (test_load_tests_from_test_case.TestLoadTestsFromTestCaseHook.runTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/test_load_tests_from_test_case.py", line 53, in runTest self.assertEqual(line.strip(), expect.pop(0)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: 'test_value (test_load_tests_from_test_case.Derived.test_value) ... ERROR' != 'test_value (test_load_tests_from_test_case.Derived) ... ERROR' - test_value (test_load_tests_from_test_case.Derived.test_value) ... ERROR ? ----------- + test_value (test_load_tests_from_test_case.Derived) ... ERROR -------------------- >> begin captured stdout << --------------------- options configure Called! test_value (test_load_tests_from_test_case.Derived.test_value) ... ERROR test_value (tests.Tests.test_value) ... ok ====================================================================== ERROR: test_value (test_load_tests_from_test_case.Derived.test_value) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/support/ltftc/tests.py", line 9, in test_value self.assertEqual(self.value, 1) ^^^^^^^^^^ AttributeError: 'Derived' object has no attribute 'value' ---------------------------------------------------------------------- Ran 2 tests in 0.007s FAILED (errors=1) --------------------- >> end captured stdout << ---------------------- ====================================================================== FAIL: runTest (test_xunit.TestXUnitPlugin.runTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/test_xunit.py", line 28, in runTest assert "test_skip (test_xunit_as_suite.TestForXunit) ... SKIP: skipit" in self.output ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: -------------------- >> begin captured stdout << --------------------- test-generated output test_error (test_xunit_as_suite.TestForXunit.test_error) ... ERROR test_fail (test_xunit_as_suite.TestForXunit.test_fail) ... FAIL test_non_ascii_error (test_xunit_as_suite.TestForXunit.test_non_ascii_error) ... ERROR test_output (test_xunit_as_suite.TestForXunit.test_output) ... ok test_skip (test_xunit_as_suite.TestForXunit.test_skip) ... SKIP: skipit test_success (test_xunit_as_suite.TestForXunit.test_success) ... ok ====================================================================== ERROR: test_error (test_xunit_as_suite.TestForXunit.test_error) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/support/xunit/test_xunit_as_suite.py", line 15, in test_error raise TypeError("oops, wrong type") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: oops, wrong type ====================================================================== ERROR: test_non_ascii_error (test_xunit_as_suite.TestForXunit.test_non_ascii_error) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/support/xunit/test_xunit_as_suite.py", line 18, in test_non_ascii_error raise Exception("日本") ^^^^^^^^^^^^^^^^^^^^^ Exception: 日本 ====================================================================== FAIL: test_fail (test_xunit_as_suite.TestForXunit.test_fail) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/support/xunit/test_xunit_as_suite.py", line 12, in test_fail self.assertEqual("this","that") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: 'this' != 'that' - this + that ---------------------------------------------------------------------- XML: /builddir/build/BUILD/nose-1.3.7/build/tests/functional_tests/support/xunit.xml ---------------------------------------------------------------------- Ran 6 tests in 0.011s FAILED (SKIP=1, errors=2, failures=1) --------------------- >> end captured stdout << ---------------------- ---------------------------------------------------------------------- Ran 388 tests in 18.570s FAILED (SKIP=9, failures=7) This seems like failures caused by the new tracebacks. https://docs.python.org/3.11/whatsnew/3.11.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.11/fedora-rawhide-x86_64/04392571-python-nose/ For all our attempts to build python-nose with Python 3.11, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.11/package/python-nose/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.11: https://copr.fedorainfracloud.org/coprs/g/python/python3.11/ Let us know here if you have any questions. Python 3.11 is planned to be included in Fedora 37. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.11. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
See https://src.fedoraproject.org/rpms/python-nose/pull-request/6
Closing this in bulk as it built with Python 3.11. If this needs to remain open for a followup, feel free to reopen, I won't close in bulk again.