python-decorator fails to build with Python 3.9.0a2. + /usr/bin/python3 setup.py test running test WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox. running egg_info writing src/decorator.egg-info/PKG-INFO writing dependency_links to src/decorator.egg-info/dependency_links.txt writing top-level names to src/decorator.egg-info/top_level.txt reading manifest file 'src/decorator.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'README.rst' warning: no files found matching 'documentation.pdf' writing manifest file 'src/decorator.egg-info/SOURCES.txt' running build_ext test_before_after (tests.test.CoroutineTestCase) ... ok test_coro_to_func (tests.test.CoroutineTestCase) ... ok test (tests.test.DocumentationTestCase) ... ********************************************************************** File "/builddir/build/BUILD/decorator-4.4.0/src/tests/documentation.py", line 531, in tests.documentation Failed example: print(read_data()) # data is not available yet Exception raised: Traceback (most recent call last): File "/usr/lib64/python3.9/doctest.py", line 1329, in __run exec(compile(example.source, filename, "single", File "<doctest tests.documentation[33]>", line 1, in <module> print(read_data()) # data is not available yet File "</builddir/build/BUILD/decorator-4.4.0/src/decorator.py:decorator-gen-26>", line 2, in read_data File "/builddir/build/BUILD/decorator-4.4.0/src/tests/documentation.py", line 1532, in blocking elif f.thread.isAlive(): AttributeError: 'Thread' object has no attribute 'isAlive' ********************************************************************** File "/builddir/build/BUILD/decorator-4.4.0/src/tests/documentation.py", line 535, in tests.documentation Failed example: print(read_data()) # data is not available yet Exception raised: Traceback (most recent call last): File "/usr/lib64/python3.9/doctest.py", line 1329, in __run exec(compile(example.source, filename, "single", File "<doctest tests.documentation[35]>", line 1, in <module> print(read_data()) # data is not available yet File "</builddir/build/BUILD/decorator-4.4.0/src/decorator.py:decorator-gen-26>", line 2, in read_data File "/builddir/build/BUILD/decorator-4.4.0/src/tests/documentation.py", line 1532, in blocking elif f.thread.isAlive(): AttributeError: 'Thread' object has no attribute 'isAlive' ********************************************************************** File "/builddir/build/BUILD/decorator-4.4.0/src/tests/documentation.py", line 539, in tests.documentation Failed example: print(read_data()) Exception raised: Traceback (most recent call last): File "/usr/lib64/python3.9/doctest.py", line 1329, in __run exec(compile(example.source, filename, "single", File "<doctest tests.documentation[37]>", line 1, in <module> print(read_data()) File "</builddir/build/BUILD/decorator-4.4.0/src/decorator.py:decorator-gen-26>", line 2, in read_data File "/builddir/build/BUILD/decorator-4.4.0/src/tests/documentation.py", line 1532, in blocking elif f.thread.isAlive(): AttributeError: 'Thread' object has no attribute 'isAlive' ********************************************************************** 1 items had failures: 3 of 88 in tests.documentation ***Test Failed*** 3 failures. FAIL test_singledispatch1 (tests.test.DocumentationTestCase) ... ok test_singledispatch2 (tests.test.DocumentationTestCase) ... ok test_add1 (tests.test.ExtraTestCase) ... ok test_decorator_factory (tests.test.ExtraTestCase) ... ok test_no_first_arg (tests.test.ExtraTestCase) ... ok test_qualname (tests.test.ExtraTestCase) ... ok test_signature (tests.test.ExtraTestCase) ... ok test_unique_filenames (tests.test.ExtraTestCase) ... ok test_gen123 (tests.test.GeneratorCallerTestCase) ... ok test_c_classes (tests.test.TestSingleDispatch) ... ok test_mro (tests.test.TestSingleDispatch) ... ok test_mro_conflicts (tests.test.TestSingleDispatch) ... ok test_register_abc (tests.test.TestSingleDispatch) ... ok test_register_decorator (tests.test.TestSingleDispatch) ... ok test_register_error (tests.test.TestSingleDispatch) ... ok test_simple_overloads (tests.test.TestSingleDispatch) ... ok test_wrapping_attributes (tests.test.TestSingleDispatch) ... ok ====================================================================== FAIL: test (tests.test.DocumentationTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/decorator-4.4.0/src/tests/test.py", line 81, in test self.assertEqual(err, 0) AssertionError: 3 != 0 ---------------------------------------------------------------------- Ran 20 tests in 5.660s FAILED (failures=1) Test failed: <unittest.runner.TextTestResult run=20 errors=0 failures=1> error: Test failed: <unittest.runner.TextTestResult run=20 errors=0 failures=1> error: Bad exit status from /var/tmp/rpm-tmp.7lvrnx (%check) Indeed, isAlive() is deprecated, use is_alive() instead: $ python3.8 -c 'import threading; t = threading.Thread(); t.isAlive()' <string>:1: DeprecationWarning: isAlive() is deprecated, use is_alive() instead $ python3.9 -c 'import threading; t = threading.Thread(); t.isAlive()' Traceback (most recent call last): File "<string>", line 1, in <module> AttributeError: 'Thread' object has no attribute 'isAlive' For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01138324-python-decorator/ For all our attempts to build python-decorator with Python 3.9, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-decorator/ 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.9: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/ Let us know here if you have any questions. Python 3.9 will be included in Fedora 33, but the initial bootstrapping has already started. A build failure this early in the bootstrap sequence blocks us very much.
https://src.fedoraproject.org/rpms/python-decorator/pull-request/2
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle. Changing version to 32.
That PR was merged 2 months ago.