Tests/CXXModules: help diagnose build database errors In tests that compare multiple files, knowing which file(s) errors come from is difficult. Log the actual filepaths when this occurs to help debugging.
diff --git a/Tests/RunCMake/CXXModules/examples/build-database-check.cmake b/Tests/RunCMake/CXXModules/examples/build-database-check.cmake index c09acea..9b440a8 100644 --- a/Tests/RunCMake/CXXModules/examples/build-database-check.cmake +++ b/Tests/RunCMake/CXXModules/examples/build-database-check.cmake
@@ -70,7 +70,19 @@ file(READ "${RunCMake_TEST_BINARY_DIR}/${fname}" actual) file(READ "${expected_file}" expect) + set(RunCMake_TEST_FAILED_before "${RunCMake_TEST_FAILED}") + set(RunCMake_TEST_FAILED "") + check_json("${actual}" "${expect}") + if (RunCMake_TEST_FAILED) + string(PREPEND RunCMake_TEST_FAILED + "${RunCMake_TEST_FAILED_before}\n" + "actual file: ${RunCMake_TEST_BINARY_DIR}/${fname}\n" + "expect file: ${expected_file}\n") + else () + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED_before}") + endif () + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE) endfunction ()