pytest-split icon indicating copy to clipboard operation
pytest-split copied to clipboard

wrong rootdir detected

Open dingxiong opened this issue 3 years ago • 1 comments

Hi,

I found using pytest with parameter with --durations-path option will change pytest rootdir, so the nodeid of all tests cannot be found in the test_durations file. For example

% pytest --splits 2 --group 1 --durations-path ~/Downloads/.test_durations  -s
========================== test session starts ===========================
platform darwin -- Python 3.8.13, pytest-6.2.0, py-1.11.0, pluggy-0.13.1
rootdir: /Users/xiongding

The rootdir is my home folder. So basically the nodeids stored in test_duration are not used. This is a pytest's documentation https://docs.pytest.org/en/6.2.x/customize.html#initialization-determining-rootdir-and-configfile

It is hard to say it is a bug on pytest-split side. The pytest algorithm to determine rootdir is also weird. We can easily avoid this issue using --rootdir option, or move test_durations file to project rootdir before running pytest. But just want to ask is there a better design? There is no error so I did not find this issue for a long time.

dingxiong avatar Aug 14 '22 03:08 dingxiong