Optimizing CTest runners

I have noticed that ctest is able to optimize the order of tests that are run in parallel based on the previous execution. My question around this, is what files are needed to be cached to take advantage of this outside of a CDash environment? Are there other such optimizations that one should be aware of?

Copied from CMake CTest cost data | Scientific Computing

CMake’s CTest assigns a dynamic COST to each test that updates each time the test is run. Kitware considers the cost test data to be undocumented behavior, so it’s not part of the CMake COST docs.

The computed test cost data is stored under ${CMAKE_BINARY_DIR}/Testing/Temporary/CTestCostData.txt This file stores data for each test in a row:

  TestName NumberOfTestRuns Cost
1 Like

Thanks. Probably not as reliable as with CDash, but still it should be better than without it.

It seems like a prime candidate for updating CMake internals to use JSON as in other such files