The affected classes are
The issue was discussed between me (Jiri Daněk) and Fernando Giorgetti on the original
DISPATCH-1933 where we decided it should be eventually fixed, somehow.
39: =============================== warnings summary ===============================
39: /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/system_test.py:1259: PytestCollectionWarning: cannot collect test class 'TestTimeout' because it has a __init__ constructor (from: )
39: class TestTimeout(object):
39: -- Docs: https://docs.pytest.org/en/stable/warnings.html
39: - generated xml file: /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/build/tests/junitxmls/system_tests_multi_tenancy_policy.xml -
39: ======================== 36 passed, 1 warning in 14.84s ========================
22/38 Test #39: system_tests_multi_tenancy_policy ....... Passed 15.09 sec
The problem is that Pytest's test discovery looks for test classes by name (in addition to lookup by superclass, the way Python unittest lib works). When Pytest finds a class that matches name pattern, it will try to collect it, but that will fail in cases the class is a test helper which has an _init_ method.
One solution would be to rename the affected classes. Or modify Pytests test discovery logic (it is configurable) or to suppress the warning.