test suite is using traceback2 module and some pytest warnings

Bug #1926430 reported by Tomasz Kloczko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
subunit
Fix Released
Undecided
Unassigned

Bug Description

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 =======================================================================

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

subunit no longer uses unittest2

Changed in subunit:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.