Bug 2021546 - python-testtools fails to build with Python 3.11: ZeroDivisionError: division by zero
Summary: python-testtools fails to build with Python 3.11: ZeroDivisionError: divisio...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-testtools
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Michel Lind
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2046915
Blocks: PYTHON3.11
TreeView+ depends on / blocked
 
Reported: 2021-11-09 15:16 UTC by Tomáš Hrnčiar
Modified: 2022-06-22 11:49 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2022-06-22 11:49:14 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github testing-cabal testtools issues 325 0 None open Compatibility with Python 3.11 2022-03-15 15:19:11 UTC

Description Tomáš Hrnčiar 2021-11-09 15:16:20 UTC
python-testtools fails to build with Python 3.11.0a2.

======================================================================
ERROR: testtools.tests.test_testcase.TestAssertions.test_assertRaisesRegexp
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testcase.py", line 390, in test_assertRaisesRegexp
    self.assertRaisesRegexp(RuntimeError, r"M\w*e", self.raiseError,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'TestAssertions' object has no attribute 'assertRaisesRegexp'
======================================================================
ERROR: testtools.tests.test_testcase.TestAssertions.test_assertRaisesRegexp_wrong_error_type
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testcase.py", line 396, in test_assertRaisesRegexp_wrong_error_type
    self.assertRaises(ValueError, self.assertRaisesRegexp, RuntimeError,
                                  ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'TestAssertions' object has no attribute 'assertRaisesRegexp'
======================================================================
ERROR: testtools.tests.test_testcase.TestAssertions.test_assertRaisesRegexp_wrong_message
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testcase.py", line 404, in test_assertRaisesRegexp_wrong_message
    self.assertRaisesRegexp, RuntimeError, "Expected",
    ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'TestAssertions' object has no attribute 'assertRaisesRegexp'
======================================================================
FAIL: testtools.tests.test_run.TestRun.test_run_list_failed_import
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_run.py", line 200, in test_run_list_failed_import
    self.assertThat(out.getvalue(), DocTestMatches("""\
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Expected:
    unittest.loader._FailedTest.runexample
    Failed to import test module: runexample
    Traceback (most recent call last):
      File ".../loader.py", line ..., in _find_test_path
        package = self._get_module_from_name(name)
      File ".../loader.py", line ..., in _get_module_from_name
        __import__(name)
      File ".../runexample/__init__.py", line 1
        class not in
    ...^...
    SyntaxError: invalid syntax

Got:
    unittest.loader._FailedTest.runexample
    Failed to import test module: runexample
    Traceback (most recent call last):
      File "/usr/lib64/python3.11/unittest/loader.py", line 448, in _find_test_path
        package = self._get_module_from_name(name)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib64/python3.11/unittest/loader.py", line 355, in _get_module_from_name
        __import__(name)
        ^^^^^^^^^^^^^^^^
      File "/tmp/tmp7_4rlaq5/runexample/__init__.py", line 1
        class not in
              ^^^
    SyntaxError: invalid syntax
    <BLANKLINE>
======================================================================
FAIL: testtools.tests.test_testresult.TestNonAsciiResults.test_syntax_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 2675, in test_syntax_error
    self.assertIn(self._as_output(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 399, in assertIn
    self.assertThat(haystack, Contains(needle), message)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: '  File "<string>", line 1\n    f(a, b c)\n         ^\nSyntaxError: ' not in 'Tests running...\n======================================================================\nERROR: test_syntax_error.Test.runTest\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File "/tmp/TestNonAsciiResultswe6hmm_6/test_syntax_error.py", line 6, in runTest\n    exec (\'f(a, b c)\')\n    ^^^^^^^^^^^^^^^^^^\n  File "<string>", line 1\n    f(a, b c)\n         ^^^\nSyntaxError: invalid syntax. Perhaps you forgot a comma?\n\nRan 1 test in 0.001s\nFAILED (failures=1)\n'
======================================================================
FAIL: testtools.tests.test_testresult.TestNonAsciiResults.test_unprintable_exception
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 2651, in test_unprintable_exception
    self.assertIn(self._as_output(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 399, in assertIn
    self.assertThat(haystack, Contains(needle), message)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: 'UnprintableError: <unprintable UnprintableError object>\n' not in 'Tests running...\n======================================================================\nERROR: test_unprintable_exception.Test.runTest\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File "/tmp/TestNonAsciiResultsukuyatl4/test_unprintable_exception.py", line 13, in runTest\n    raise UnprintableError\n    ^^^^^^^^^^^^^^^^^^^^^^\ntest_unprintable_exception.UnprintableError: <exception str() failed>\n\nRan 1 test in 0.001s\nFAILED (failures=1)\n'
======================================================================
FAIL: testtools.tests.test_testresult.TestNonAsciiResultsWithUnittest.test_syntax_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 2675, in test_syntax_error
    self.assertIn(self._as_output(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 399, in assertIn
    self.assertThat(haystack, Contains(needle), message)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: '  File "<string>", line 1\n    f(a, b c)\n         ^\nSyntaxError: ' not in 'E\n======================================================================\nERROR: runTest (test_syntax_error.Test)\ntest_syntax_error.Test.runTest\n----------------------------------------------------------------------\ntesttools.testresult.real._StringException: Traceback (most recent call last):\n  File "/tmp/TestNonAsciiResultsWithUnittestj11aka4k/test_syntax_error.py", line 6, in runTest\n    exec (\'f(a, b c)\')\n    ^^^^^^^^^^^^^^^^^^\n  File "<string>", line 1\n    f(a, b c)\n         ^^^\nSyntaxError: invalid syntax. Perhaps you forgot a comma?\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (errors=1)\n'
======================================================================
FAIL: testtools.tests.test_testresult.TestNonAsciiResultsWithUnittest.test_unprintable_exception
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 2651, in test_unprintable_exception
    self.assertIn(self._as_output(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 399, in assertIn
    self.assertThat(haystack, Contains(needle), message)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: 'UnprintableError: <unprintable UnprintableError object>\n' not in 'E\n======================================================================\nERROR: runTest (test_unprintable_exception.Test)\ntest_unprintable_exception.Test.runTest\n----------------------------------------------------------------------\ntesttools.testresult.real._StringException: Traceback (most recent call last):\n  File "/tmp/TestNonAsciiResultsWithUnittestazjz6y4m/test_unprintable_exception.py", line 13, in runTest\n    raise UnprintableError\n    ^^^^^^^^^^^^^^^^^^^^^^\ntest_unprintable_exception.UnprintableError: <exception str() failed>\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (errors=1)\n'
======================================================================
FAIL: testtools.tests.test_testresult.TestTestResult.test_traceback_formatting_with_stack_hidden
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
    return self._get_test_method()()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 1281, in test_traceback_formatting_with_stack_hidden
    self.assertThat(
    ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Expected:
    Traceback (most recent call last):
      File "...testtools...tests...test_testresult.py", line ..., in error
        1/0
    ZeroDivisionError: ...
Got:
    Traceback (most recent call last):
      File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 98, in error
        1/0
        ~^~
    ZeroDivisionError: division by zero
======================================================================
FAIL: testtools.tests.test_testresult.TestTestResult.test_traceback_formatting_without_stack_hidden
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
    return self._get_test_method()()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 1264, in test_traceback_formatting_without_stack_hidden
    self.assertThat(
    ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Differences (unified diff with -expected +actual):
    @@ -1,8 +1,11 @@
     Traceback (most recent call last):
    -  File "...testtools...runtest.py", line ..., in _run_user
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
         return fn(*args, **kwargs)
    -  File "...testtools...testcase.py", line ..., in _run_test_method
    +           ^^^^^^^^^^^^^^^^^^^
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
         return self._get_test_method()()
    -  File "...testtools...tests...test_testresult.py", line ..., in error
    +           ^^^^^^^^^^^^^^^^^^^^^^^^^
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 98, in error
         1/0
    -ZeroDivisionError: ...
    +    ~^~
    +ZeroDivisionError: division by zero
======================================================================
FAIL: testtools.tests.test_testresult.TestTestResult.test_traceback_with_locals
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
    return self._get_test_method()()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 1320, in test_traceback_with_locals
    self.assertThat(
    ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Differences (unified diff with -expected +actual):
    @@ -1,16 +1,19 @@
     Traceback (most recent call last):
    -  File "...testtools...runtest.py", line ..., in _run_user
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
         return fn(*args, **kwargs)
    -    args = ...
    -    fn = ...
    -    kwargs = ...
    -    self = ...
    -  File "...testtools...testcase.py", line ..., in _run_test_method
    +           ^^^^^^^^^^^^^^^^^^^
    +    args = (<ExtendedToOriginalDecorator <testtools.testresult.real.TestResult run=1 errors=0 failures=0>>,)
    +    fn = <bound method TestCase._run_test_method of <testtools.tests.test_testresult.make_erroring_test.<locals>.Test.error id=0x7f34e73c7200>>
    +    kwargs = {}
    +    self = <testtools.runtest.RunTest object at 0x7f34e76528c0>
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
         return self._get_test_method()()
    -    result = ...
    -    self = ...
    -  File "...testtools...tests...test_testresult.py", line ..., in error
    +           ^^^^^^^^^^^^^^^^^^^^^^^^^
    +    result = <ExtendedToOriginalDecorator <testtools.testresult.real.TestResult run=1 errors=0 failures=0>>
    +    self = <testtools.tests.test_testresult.make_erroring_test.<locals>.Test.error id=0x7f34e73c7200>
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 98, in error
         1/0
    +    ~^~
         a = 1
    -    self = ...
    -ZeroDivisionError: ...
    +    self = <testtools.tests.test_testresult.make_erroring_test.<locals>.Test.error id=0x7f34e73c7200>
    +ZeroDivisionError: division by zero
======================================================================
FAIL: testtools.tests.test_testsuite.TestConcurrentStreamTestSuiteRun.test_broken_runner
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testsuite.py", line 179, in test_broken_runner
    self.assertThat(events[2][6].decode('utf8'), DocTestMatches("""\
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Expected:
      File "...testtools/testsuite.py", line ..., in _run_test
        test.run(process_result)
Got:
      File "/builddir/build/BUILD/testtools-2.5.0/testtools/testsuite.py", line 186, in _run_test
        test.run(process_result)
        ^^^^^^^^^^^^^^^^^^^^^^^^

Ran 2627 tests in 0.731s
FAILED (failures=12)

Removed many old deprecated unittest features:
    TestCase method aliases failUnlessEqual, failIfEqual, failUnless, failIf,
    failUnlessRaises, failUnlessAlmostEqual, failIfAlmostEqual (deprecated in
    Python 3.1), assertEquals, assertNotEquals, assert_, assertAlmostEquals,
    assertNotAlmostEquals, assertRegexpMatches, assertRaisesRegexp (deprecated in
    Python 3.2), and assertNotRegexpMatches (deprecated in Python 3.5).

https://bugs.python.org/issue45162
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/02940804-python-testtools/

For all our attempts to build python-testtools with Python 3.11, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.11/package/python-testtools/

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.

Comment 1 Hugo van Kemenade 2022-01-10 17:09:32 UTC
Upstream PR to fix assertEquals -> assertEqual: https://github.com/testing-cabal/testtools/pull/319

There are still other errors that will need fixing.

Comment 2 Tomáš Hrnčiar 2022-02-07 12:17:54 UTC
Removal of unittest aliases was reverted in Python 3.11 and will be part of Python 3.12, so the above failure is not present anymore. Hugo's PR will be needed next year though.

Regarding Python 3.11 there are still some failures that need to be fixed.

======================================================================
FAIL: testtools.tests.test_testresult.TestNonAsciiResultsWithUnittest.test_unprintable_exception
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 2651, in test_unprintable_exception
    self.assertIn(self._as_output(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 399, in assertIn
    self.assertThat(haystack, Contains(needle), message)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: 'UnprintableError: <unprintable UnprintableError object>\n' not in 'E\n======================================================================\nERROR: runTest (test_unprintable_exception.Test)\ntest_unprintable_exception.Test.runTest\n----------------------------------------------------------------------\ntesttools.testresult.real._StringException: Traceback (most recent call last):\n  File "/tmp/TestNonAsciiResultsWithUnittestw_oj6x4r/test_unprintable_exception.py", line 13, in runTest\n    raise UnprintableError\n    ^^^^^^^^^^^^^^^^^^^^^^\ntest_unprintable_exception.UnprintableError: <exception str() failed>\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (errors=1)\n'
======================================================================
FAIL: testtools.tests.test_testresult.TestTestResult.test_traceback_formatting_with_stack_hidden
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
    return self._get_test_method()()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 1281, in test_traceback_formatting_with_stack_hidden
    self.assertThat(
    ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Expected:
    Traceback (most recent call last):
      File "...testtools...tests...test_testresult.py", line ..., in error
        1/0
    ZeroDivisionError: ...
Got:
    Traceback (most recent call last):
      File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 98, in error
        1/0
        ~^~
    ZeroDivisionError: division by zero
======================================================================
FAIL: testtools.tests.test_testresult.TestTestResult.test_traceback_formatting_without_stack_hidden
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
    return self._get_test_method()()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 1264, in test_traceback_formatting_without_stack_hidden
    self.assertThat(
    ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Differences (unified diff with -expected +actual):
    @@ -1,8 +1,11 @@
     Traceback (most recent call last):
    -  File "...testtools...runtest.py", line ..., in _run_user
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
         return fn(*args, **kwargs)
    -  File "...testtools...testcase.py", line ..., in _run_test_method
    +           ^^^^^^^^^^^^^^^^^^^
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
         return self._get_test_method()()
    -  File "...testtools...tests...test_testresult.py", line ..., in error
    +           ^^^^^^^^^^^^^^^^^^^^^^^^^
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 98, in error
         1/0
    -ZeroDivisionError: ...
    +    ~^~
    +ZeroDivisionError: division by zero
======================================================================
FAIL: testtools.tests.test_testresult.TestTestResult.test_traceback_with_locals
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
    return self._get_test_method()()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 1320, in test_traceback_with_locals
    self.assertThat(
    ^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Differences (unified diff with -expected +actual):
    @@ -1,16 +1,19 @@
     Traceback (most recent call last):
    -  File "...testtools...runtest.py", line ..., in _run_user
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/runtest.py", line 193, in _run_user
         return fn(*args, **kwargs)
    -    args = ...
    -    fn = ...
    -    kwargs = ...
    -    self = ...
    -  File "...testtools...testcase.py", line ..., in _run_test_method
    +           ^^^^^^^^^^^^^^^^^^^
    +    args = (<ExtendedToOriginalDecorator <testtools.testresult.real.TestResult run=1 errors=0 failures=0>>,)
    +    fn = <bound method TestCase._run_test_method of <testtools.tests.test_testresult.make_erroring_test.<locals>.Test.error id=0x7ff8307c2ed0>>
    +    kwargs = {}
    +    self = <testtools.runtest.RunTest object at 0x7ff8307c1e50>
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 702, in _run_test_method
         return self._get_test_method()()
    -    result = ...
    -    self = ...
    -  File "...testtools...tests...test_testresult.py", line ..., in error
    +           ^^^^^^^^^^^^^^^^^^^^^^^^^
    +    result = <ExtendedToOriginalDecorator <testtools.testresult.real.TestResult run=1 errors=0 failures=0>>
    +    self = <testtools.tests.test_testresult.make_erroring_test.<locals>.Test.error id=0x7ff8307c2ed0>
    +  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testresult.py", line 98, in error
         1/0
    +    ~^~
         a = 1
    -    self = ...
    -ZeroDivisionError: ...
    +    self = <testtools.tests.test_testresult.make_erroring_test.<locals>.Test.error id=0x7ff8307c2ed0>
    +ZeroDivisionError: division by zero
======================================================================
FAIL: testtools.tests.test_testsuite.TestConcurrentStreamTestSuiteRun.test_broken_runner
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/tests/test_testsuite.py", line 179, in test_broken_runner
    self.assertThat(events[2][6].decode('utf8'), DocTestMatches("""\
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/testtools-2.5.0/testtools/testcase.py", line 480, in assertThat
    raise mismatch_error
    ^^^^^^^^^^^^^^^^^^^^
testtools.matchers._impl.MismatchError: Expected:
      File "...testtools/testsuite.py", line ..., in _run_test
        test.run(process_result)
Got:
      File "/builddir/build/BUILD/testtools-2.5.0/testtools/testsuite.py", line 186, in _run_test
        test.run(process_result)
        ^^^^^^^^^^^^^^^^^^^^^^^^

Ran 2627 tests in 0.752s
FAILED (failures=9)

See https://copr.fedorainfracloud.org/coprs/g/python/python3.11/build/3298799/ for full log.

Comment 3 Ben Cotton 2022-02-08 20:10:03 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle.
Changing version to 36.

Comment 4 Miro Hrončok 2022-06-22 11:49:14 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.