CTest: Teach --show-only=json-v1 to filter out not-available tests

Avoid exposing the internal special value that we use to track tests not
available in the tested configuration.  This also prevents clients from
having to do the filtering themselves.
This commit is contained in:
Brad King 2019-01-16 14:18:42 -05:00
parent 62fec84ad7
commit 7370b02c36
2 changed files with 6 additions and 0 deletions

View File

@ -1039,6 +1039,11 @@ void cmCTestMultiProcessHandler::PrintOutputAsJson()
testRun.SetTestProperties(&p);
testRun.ComputeArguments();
// Skip tests not available in this configuration.
if (p.Args.size() >= 2 && p.Args[1] == "NOT_AVAILABLE") {
continue;
}
Json::Value testInfo = DumpCTestInfo(testRun, p, backtraceGraph);
tests.append(testInfo);
}

View File

@ -201,6 +201,7 @@ function(run_ShowOnly)
file(WRITE "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" "
add_test(ShowOnly \"${CMAKE_COMMAND}\" -E echo)
set_tests_properties(ShowOnly PROPERTIES WILL_FAIL true _BACKTRACE_TRIPLES \"file1;1;add_test;file0;;\")
add_test(ShowOnlyNotAvailable NOT_AVAILABLE)
")
run_cmake_command(show-only_json-v1 ${CMAKE_CTEST_COMMAND} --show-only=json-v1)
endfunction()