CTest: Fix --show-only=json-v1 output with REQUIRED_FILES property

Fixes: #19629
This commit is contained in:
Brad King 2019-08-22 15:00:38 -04:00
parent 40bbe50e23
commit 5778880d20
3 changed files with 20 additions and 6 deletions

View File

@ -855,8 +855,8 @@ static Json::Value DumpCTestProperties(
DumpCTestProperty("PROCESSORS", testProperties.Processors));
}
if (!testProperties.RequiredFiles.empty()) {
properties["REQUIRED_FILES"] =
DumpToJsonArray(testProperties.RequiredFiles);
properties.append(DumpCTestProperty(
"REQUIRED_FILES", DumpToJsonArray(testProperties.RequiredFiles)));
}
if (!testProperties.LockedResources.empty()) {
properties.append(DumpCTestProperty(

View File

@ -200,7 +200,11 @@ function(run_ShowOnly)
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
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;;\")
set_tests_properties(ShowOnly PROPERTIES
WILL_FAIL true
REQUIRED_FILES RequiredFileDoesNotExist
_BACKTRACE_TRIPLES \"file1;1;add_test;file0;;\"
)
add_test(ShowOnlyNotAvailable NOT_AVAILABLE)
")
run_cmake_command(show-only_human ${CMAKE_CTEST_COMMAND} --show-only=human)

View File

@ -63,6 +63,15 @@ def check_command(c):
assert is_string(c[2])
assert c[2] == "echo"
def check_reqfiles_property(p):
assert is_dict(p)
assert sorted(p.keys()) == ["name", "value"]
assert is_string(p["name"])
assert is_list(p["value"])
assert p["name"] == "REQUIRED_FILES"
assert len(p["value"]) == 1
assert p["value"][0] == "RequiredFileDoesNotExist"
def check_willfail_property(p):
assert is_dict(p)
assert sorted(p.keys()) == ["name", "value"]
@ -81,9 +90,10 @@ def check_workingdir_property(p):
def check_properties(p):
assert is_list(p)
assert len(p) == 2
check_willfail_property(p[0])
check_workingdir_property(p[1])
assert len(p) == 3
check_reqfiles_property(p[0])
check_willfail_property(p[1])
check_workingdir_property(p[2])
def check_tests(t):
assert is_list(t)