Group unit tests into "quick" and "expensive"
I would like to group our tests in quick and extensive tests, to counter long unit test times:
dune-common | master | simd-branch |
---|---|---|
make -j4 |
5s | 5s |
make -j4 build_tests |
52s | 9m2s |
ctest -j4 |
9s | 12s |
(These times were obtained with ccache disabled, no MPI, but with Vc) |
The reason for the long build time is that I test the interface for many combinations of types and operations. This has been useful when developing the interface, but is not that useful on a day to day basis. Nevertheless, the unit tests are a good place to keep those tests for when they are needed.
The quick tests would probably be used be the developer before pushing, and possibly on every ous by the CI.
The extensive tests would be used before a release, or on a weekly or even nightly basis in the CI. @ansgar even claimed that he could run the extensive tests for every push in the CI.
-
!432 (merged) adds labels to tests, and labels all current dune-common tests as quick
-
joe/dune-docker!1 patches duneci-standard-test
to support test labels -
Modify.gitlab-ci.yml
to take advantage of test labels, where appropriate.
Edited by Jö Fahlke