"ctest -D *Coverage" may end up scanning the entire filesystem
Someone set up a project, and my job was to get coverage working. Running the tests and everything was fine, and the gcov data files were also present.
But when I ran
ctest -D ExternalCoverage I only saw filesystem I/O, but not output.
It turns out that the project was doing
enable_testing(), but without
include(CTest). The result is that no
DartConfiguration.tcl exists in the build directory. When running ctest it will not know what it's binary dir is.
The problem then comes into play when cmCTestCoverageHandler::HandleTracePyCoverage() is called: this scans the binary directory for coverage files. Since no binary directory is known it scans
/. I guess all of this doesn't make any sense and there should be a stop rather early that just exits with error if no binary directory is known.