[cmake-developers] Is there a way in CMake to get a list of all CTest tests added with add_test?
Nils Gladitz
nilsgladitz at gmail.com
Wed Oct 5 06:54:36 EDT 2016
On 04.10.2016 11:20, Tobias Hunger wrote:
> On Mo, 2016-10-03 at 14:25 -0400, Brad King wrote:
>>> The list we need would thus be built up to contain all COMMAND
>>> arguments to add_test that are also build targets in CMake.
>> The list would also need to include targets mentioned in generator
>> expressions such as `$<TARGET_FILE:...>`. This will almost certainly
>> be better done as a CMake feature implemented in C++. This was actually
>> an early design philosophy: do the hard stuff in C++ so that complex
>> logic is not needed in CMake-language code.
> Access to the list of defined tests would be nice to have in the server-mode,
> too:-)
>
> If some work is done in that direction, please keep server-mode in mind when
> designing the APIs. I would love to reuse them to expose that information to
> clients.
This might be rare but the tests that cmake knows about might differ
from the tests that ctest knows about given that tests can be
dynamically defined through TEST_INCLUDE_FILE[1].
I've never used it that way but I was considering e.g. querying test
binaries (produced at build time) for the tests they define and making
those available dynamically when ctest processes CTestTestfile.cmake.
This is in contrast to e.g. FindGTests.cmake's GTEST_ADD_TESTS() which
tries to accomplish the same thing at configuration time by parsing test
sources instead.
[1] https://cmake.org/cmake/help/v3.6/prop_dir/TEST_INCLUDE_FILE.html
Nils
More information about the cmake-developers
mailing list