Looks like subunit is using long time ago abanodned traceback2 module in own test units (latst release was in 2015).
pytest as well sjhows some other warnings
+ /usr/bin/python3 -Bm pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.9, pytest-6.2.3, py-1.10.0, pluggy-0.13.1
rootdir: /home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, asyncio-0.14.0, expect-1.1.0, cov-2.11.1, mock-3.5.1, httpbin-1.0.0, xdist-2.2.1, flake8-1.0.7, timeout-1.4.2, betamax-0.8.1, pyfakefs-4.4.0, freezegun-0.4.2, flaky-3.7.0, cases-3.4.6, hypothesis-6.10.1, case-1.5.3, isort-1.3.0
collected 126 items / 4 errors / 122 selected
================================================================================== ERRORS ==================================================================================
__________________________________________________________ ERROR collecting python/subunit/tests/test_chunked.py ___________________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/tests/test_chunked.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
python/subunit/tests/__init__.py:30: in <module>
from subunit.tests import (
python/subunit/tests/test_test_protocol.py:19: in <module>
import unittest2 as unittest
/usr/lib/python3.8/site-packages/unittest2/__init__.py:40: in <module>
from unittest2.collector import collector
/usr/lib/python3.8/site-packages/unittest2/collector.py:3: in <module>
from unittest2.loader import defaultTestLoader
/usr/lib/python3.8/site-packages/unittest2/loader.py:13: in <module>
from unittest2 import case, suite, util
/usr/lib/python3.8/site-packages/unittest2/case.py:10: in <module>
import traceback2 as traceback
E ModuleNotFoundError: No module named 'traceback2'
_______________________________________________________ ERROR collecting python/subunit/tests/test_test_protocol.py ________________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/tests/test_test_protocol.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
python/subunit/tests/__init__.py:30: in <module>
from subunit.tests import (
python/subunit/tests/test_test_protocol.py:19: in <module>
import unittest2 as unittest
/usr/lib/python3.8/site-packages/unittest2/__init__.py:40: in <module>
from unittest2.collector import collector
/usr/lib/python3.8/site-packages/unittest2/collector.py:3: in <module>
from unittest2.loader import defaultTestLoader
/usr/lib/python3.8/site-packages/unittest2/loader.py:13: in <module>
from unittest2 import case, suite, util
/usr/lib/python3.8/site-packages/unittest2/case.py:10: in <module>
import traceback2 as traceback
E ModuleNotFoundError: No module named 'traceback2'
_______________________________________________________ ERROR collecting python/subunit/tests/test_test_protocol2.py _______________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/tests/test_test_protocol2.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
python/subunit/tests/__init__.py:30: in <module>
from subunit.tests import (
python/subunit/tests/test_test_protocol.py:19: in <module>
import unittest2 as unittest
/usr/lib/python3.8/site-packages/unittest2/__init__.py:40: in <module>
from unittest2.collector import collector
/usr/lib/python3.8/site-packages/unittest2/collector.py:3: in <module>
from unittest2.loader import defaultTestLoader
/usr/lib/python3.8/site-packages/unittest2/loader.py:13: in <module>
from unittest2 import case, suite, util
/usr/lib/python3.8/site-packages/unittest2/case.py:10: in <module>
import traceback2 as traceback
E ModuleNotFoundError: No module named 'traceback2'
________________________________________________________ ERROR collecting python/subunit/tests/test_test_results.py ________________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/tests/test_test_results.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
python/subunit/tests/__init__.py:30: in <module>
from subunit.tests import (
python/subunit/tests/test_test_protocol.py:19: in <module>
import unittest2 as unittest
/usr/lib/python3.8/site-packages/unittest2/__init__.py:40: in <module>
from unittest2.collector import collector
/usr/lib/python3.8/site-packages/unittest2/collector.py:3: in <module>
from unittest2.loader import defaultTestLoader
/usr/lib/python3.8/site-packages/unittest2/loader.py:13: in <module>
from unittest2 import case, suite, util
/usr/lib/python3.8/site-packages/unittest2/case.py:10: in <module>
import traceback2 as traceback
E ModuleNotFoundError: No module named 'traceback2'
============================================================================= warnings summary =============================================================================
python/subunit/__init__.py:1036
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/__init__.py:1036: DeprecationWarning: invalid escape sequence \d
match = re.match("(\d+)\.\.(\d+)\s*(?:\#\s+(.*))?\n", line)
python/subunit/__init__.py:1049
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/__init__.py:1049: DeprecationWarning: invalid escape sequence \s
match = re.match("(ok|not ok)(?:\s+(\d+)?)?(?:\s+([^#]*[^#\s]+)\s*)?(?:\s+#\s+(TODO|SKIP|skip|todo)(?:\s+(.*))?)?\n", line)
python/subunit/__init__.py:1077
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/__init__.py:1077: DeprecationWarning: invalid escape sequence \!
match = re.match("Bail out\!(?:\s*(.*))?\n", line)
python/subunit/__init__.py:1089
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/__init__.py:1089: DeprecationWarning: invalid escape sequence \#
match = re.match("\#.*\n", line)
python/subunit/test_results.py:36
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/test_results.py:36: PytestCollectionWarning: cannot collect test class 'TestResultDecorator' because it has a __init__ constructor (from: python/subunit/test_results.py)
class TestResultDecorator(object):
python/subunit/test_results.py:440
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/test_results.py:440: PytestCollectionWarning: cannot collect test class 'TestResultFilter' because it has a __init__ constructor (from: python/subunit/test_results.py)
class TestResultFilter(TestResultDecorator):
python/subunit/test_results.py:543
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/test_results.py:543: PytestCollectionWarning: cannot collect test class 'TestIdPrintingResult' because it has a __init__ constructor (from: python/subunit/test_results.py)
class TestIdPrintingResult(testtools.TestResult):
python/subunit/test_results.py:638
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/test_results.py:638: PytestCollectionWarning: cannot collect test class 'TestByTestResult' because it has a __init__ constructor (from: python/subunit/test_results.py)
class TestByTestResult(testtools.TestResult):
python/subunit/test_results.py:440
/home/tkloczko/rpmbuild/BUILD/python-subunit-1.4.0/python/subunit/test_results.py:440: PytestCollectionWarning: cannot collect test class 'TestResultFilter' because it has a __init__ constructor (from: python/subunit/tests/test_subunit_filter.py)
class TestResultFilter(TestResultDecorator):
-- Docs: https://docs.pytest.org/en/stable/warnings.html
========================================================================= short test summary info ==========================================================================
ERROR python/subunit/tests/test_chunked.py
ERROR python/subunit/tests/test_test_protocol.py
ERROR python/subunit/tests/test_test_protocol2.py
ERROR python/subunit/tests/test_test_results.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 4 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
====================================================================== 9 warnings, 4 errors in 1.05s =======================================================================
subunit no longer uses unittest2