bluesky / bluesky-queueserver

Server for queueing plans
https://blueskyproject.io/bluesky-queueserver/
BSD 3-Clause "New" or "Revised" License
11 stars 20 forks source link

CI: split tests into multiple groups #280

Closed dmgav closed 1 year ago

dmgav commented 1 year ago

This is a maintenance PR. No code changes.

The unit tests are split into multiple (3) groups using pytest-split for faster execution on CI. The tests are split into groups based on execution time. Execution time is saved into .test_durations text file by running ./store_test_durations.sh in the root directory. pytest-split can guess execution time for new tests, so the calibration has to be repeated only if there are significant changes to the tests and the groups become clearly unbalanced. The execution time is saved only for the tests in IPython mode, since this mode includes more tests and the tests take longer to run. The tests in pure Python mode are split based on the saved execution time, so the execution time for the groups is not expected to be perfectly equal.