I am currently using ctest to run tests written with the Catch framework. I would like to be able to filter which tests I run based on the internal Catch tags; for instance, I would like to be easily prevent any tests tagged [FUTURE] from running.
For a single test executable, ignoring ctest, this is straightforward:
myTestName '~[FUTURE]'
But I don't see any way to pass the '~[FUTURE]' argument to the Catch tests via ctest. This should be possible --test-command, but (1) --test-command doesn't seem to do anything without --build-and-test (which is not what I want) and (2) this apparently only works for one test at a time anyway, which is also not what I want (I just want to run ctest on my entire project).
I could just use ctest -N to get the names of the tests to run, then run the tests myself, but I don't know of any way to get the test filepath from ctest so I'd have to run find on all the test-names, and at that point I'm basically implementing my own test runner.
P.S. There are no existing tags for ctest or the Catch test framework, and I don't have the rep to create them. I'm not really sure what other tags would apply here. I'm only using the cmake tag because ctest is part of cmake.