diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx index f9982355b..5cab628aa 100644 --- a/Source/CTest/cmCTestBuildHandler.cxx +++ b/Source/CTest/cmCTestBuildHandler.cxx @@ -445,11 +445,6 @@ int cmCTestBuildHandler::ProcessHandler() this->EndBuild = this->CTest->CurrentTime(); this->EndBuildTime = cmSystemTools::GetTime(); double elapsed_build_time = cmSystemTools::GetTime() - elapsed_time_start; - if (res != cmsysProcess_State_Exited || retVal ) - { - cmCTestLog(this->CTest, ERROR_MESSAGE, "Error(s) when building project" - << std::endl); - } // Cleanups strings in the errors and warnings list. t_ErrorsAndWarningsVector::iterator evit; @@ -502,6 +497,12 @@ int cmCTestBuildHandler::ProcessHandler() } this->GenerateXMLFooter(xofs, elapsed_build_time); + if (res != cmsysProcess_State_Exited || retVal || this->TotalErrors > 0) + { + cmCTestLog(this->CTest, ERROR_MESSAGE, "Error(s) when building project" + << std::endl); + } + // Display message about number of errors and warnings cmCTestLog(this->CTest, HANDLER_OUTPUT, " " << this->TotalErrors << (this->TotalErrors >= this->MaxErrors ? " or more" : "") diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 5218ed140..09ec37489 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1052,24 +1052,24 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel "${CMake_SOURCE_DIR}/Tests/CTestTestFailure/testNoBuild.cmake.in" "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoBuild.cmake" @ONLY ESCAPE_QUOTES) - #ADD_TEST(CTestTestNoBuild ${CMAKE_CTEST_COMMAND} - # -S "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoBuild.cmake" -V - # --output-log "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testOut1.log" - # ) - #SET_TESTS_PROPERTIES(CTestTestNoBuild PROPERTIES - # FAIL_REGULAR_EXPRESSION "Error" WILL_FAIL true) + ADD_TEST(CTestTestNoBuild ${CMAKE_CTEST_COMMAND} + -S "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoBuild.cmake" -V + --output-log "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testOut1.log" + ) + SET_TESTS_PROPERTIES(CTestTestNoBuild PROPERTIES + FAIL_REGULAR_EXPRESSION "Error" WILL_FAIL true) - #CONFIGURE_FILE( - # "${CMake_SOURCE_DIR}/Tests/CTestTestFailure/testNoExe.cmake.in" -# "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoExe.cmake" -# @ONLY ESCAPE_QUOTES) -# ADD_TEST(CTestTestNoExe ${CMAKE_CTEST_COMMAND} -# -S "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoExe.cmake" -V -# --output-log "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testOut2.log" -# ) -# SET_TESTS_PROPERTIES(CTestTestNoExe PROPERTIES #DEPENDS CTestTestNoBuild -# PASS_REGULAR_EXPRESSION "Could not find executable" -# FAIL_REGULAR_EXPRESSION "SegFault") + CONFIGURE_FILE( + "${CMake_SOURCE_DIR}/Tests/CTestTestFailure/testNoExe.cmake.in" + "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoExe.cmake" + @ONLY ESCAPE_QUOTES) + ADD_TEST(CTestTestNoExe ${CMAKE_CTEST_COMMAND} + -S "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoExe.cmake" -V + --output-log "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testOut2.log" + ) + SET_TESTS_PROPERTIES(CTestTestNoExe PROPERTIES #DEPENDS CTestTestNoBuild + PASS_REGULAR_EXPRESSION "Could not find executable" + FAIL_REGULAR_EXPRESSION "SegFault") CONFIGURE_FILE( "${CMake_SOURCE_DIR}/Tests/CTestTestCrash/test.cmake.in"