Is there a way to explicitly specify the order of execution for
ctest tests added with
add_test? Specifically, I have one test that generates output which is required as input by two subsequent tests.
It looks like there may be a way to use
add_custom_target(...) but I haven’t flushed that out yet. AFAIK,
add_test does not create targets so maybe one
add_custom_target call for each test with the
DEPENDS option … that seems a bit like a kludge.
You need test properties to enforce the kind of behavior you’re after. Take a look at the FIXTURES_SETUP and FIXTURES_REQUIRED test properties (start with the docs for the latter). They allow you to specify that one or more tests need some other test(s) to run first. For completeness, there’s also FIXTURES_CLEANUP.
I forgot I also wrote a more detailed article describing the feature here: https://crascit.com/2016/10/18/test-fixtures-with-cmake-ctest/
Thank you. That worked perfectly.