Details
-
Improvement
-
Status: Open
-
Low
-
Resolution: Unresolved
-
None
-
Low Hanging Fruit
Description
The dtest project uses pytest as test runner of choice for executing tests on builds.apache.org or CircleCI. The pytest dependency has recently been upgrade to 3.6, but couldn't be upgrade to the most recent 3.8 version, due to issues described below.
Before test execution, the run_dtests.py script will gather a list of all tests:
./run_dtests.py --dtest-print-tests-only
Afterwards pytest can be started with any of the output lines as argument. With pytest-3.8 however, the output format changed and preventing pytest to find the test:
pytest upgrade_tests/upgrade_supercolumns_test.py::TestSCUpgrade::test_upgrade_super_columns_through_limited_versions
vs
pytest upgrade_supercolumns_test.py::TestSCUpgrade::test_upgrade_super_columns_through_limited_versions
The underlying issue appears to be the changes in the pytest --collect-only output, consumed in run_dtests.py, which now includes a <Package> element that needs to be parsed as well to derive at the path as we did before. We'd have to parse the new output and assemble the correct paths again, so we can use run_dtests.py as we did before with pytest 3.6.