diff options
-rw-r--r-- | Tests/RunCMake/Ninja/RunCMakeTest.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/RunCMake.cmake | 6 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/RunCMakeTest.cmake | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/Tests/RunCMake/Ninja/RunCMakeTest.cmake b/Tests/RunCMake/Ninja/RunCMakeTest.cmake index e6f86a1..35be2ec 100644 --- a/Tests/RunCMake/Ninja/RunCMakeTest.cmake +++ b/Tests/RunCMake/Ninja/RunCMakeTest.cmake @@ -34,6 +34,7 @@ function(run_NoWorkToDo) run_cmake(NoWorkToDo) set(RunCMake_TEST_NO_CLEAN 1) set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/NoWorkToDo-build) + set(RunCMake_TEST_OUTPUT_MERGE 1) run_cmake_command(NoWorkToDo-build ${CMAKE_COMMAND} --build .) run_cmake_command(NoWorkToDo-nowork ${CMAKE_COMMAND} --build . -- -d explain) endfunction() @@ -43,6 +44,7 @@ function(run_VerboseBuild) run_cmake(VerboseBuild) set(RunCMake_TEST_NO_CLEAN 1) set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/VerboseBuild-build) + set(RunCMake_TEST_OUTPUT_MERGE 1) run_cmake_command(VerboseBuild-build ${CMAKE_COMMAND} --build . -v --clean-first) run_cmake_command(VerboseBuild-nowork ${CMAKE_COMMAND} --build . --verbose) endfunction() diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake index e8fbd6a..a26f632 100644 --- a/Tests/RunCMake/RunCMake.cmake +++ b/Tests/RunCMake/RunCMake.cmake @@ -139,6 +139,12 @@ function(run_cmake test) if(NOT "${actual_result}" MATCHES "${expect_result}") string(APPEND msg "Result is [${actual_result}], not [${expect_result}].\n") endif() + + # Special case: remove ninja no-op line from stderr, but not stdout. + # Test cases that look for it should use RunCMake_TEST_OUTPUT_MERGE. + string(REGEX REPLACE "(^|\r?\n)ninja: no work to do\\.\r?\n" "\\1" actual_stderr "${actual_stderr}") + + # Remove incidental content from both stdout and stderr. string(CONCAT ignore_line_regex "(^|\n)((==[0-9]+==" "|BullseyeCoverage" diff --git a/Tests/RunCMake/try_compile/RunCMakeTest.cmake b/Tests/RunCMake/try_compile/RunCMakeTest.cmake index 5b849bf..fffb038 100644 --- a/Tests/RunCMake/try_compile/RunCMakeTest.cmake +++ b/Tests/RunCMake/try_compile/RunCMakeTest.cmake @@ -93,7 +93,9 @@ if(RunCMake_GENERATOR MATCHES "Make|Ninja") message(STATUS "RerunCMake: first configuration...") run_cmake(RerunCMake) if(NOT CMake_TEST_FILESYSTEM_1S) + set(RunCMake_TEST_OUTPUT_MERGE 1) run_cmake_command(RerunCMake-nowork${ninja} ${CMAKE_COMMAND} --build .) + unset(RunCMake_TEST_OUTPUT_MERGE) endif() execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution @@ -101,7 +103,9 @@ if(RunCMake_GENERATOR MATCHES "Make|Ninja") file(WRITE "${in_tc}" "does-not-compile\n") run_cmake_command(RerunCMake-rerun${ninja} ${CMAKE_COMMAND} --build .) if(NOT CMake_TEST_FILESYSTEM_1S) + set(RunCMake_TEST_OUTPUT_MERGE 1) run_cmake_command(RerunCMake-nowork${ninja} ${CMAKE_COMMAND} --build .) + unset(RunCMake_TEST_OUTPUT_MERGE) endif() unset(RunCMake_TEST_BINARY_DIR) |