15e61f9bd9
Print the "timeout correctly killed" message using message(STATUS) so that 'ctest -S' puts it in the same pipe as the rest of the test command handler output. This ensures it shows up in the same order every time.
40 lines
1.6 KiB
CMake
40 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 2.4)
|
|
|
|
# Settings:
|
|
set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
|
|
set(CTEST_SITE "@SITE@")
|
|
set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Timeout")
|
|
|
|
set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestTimeout")
|
|
set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestTimeout")
|
|
set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
|
|
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
|
set(CTEST_CMAKE_GENERATOR_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
|
|
set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
|
|
set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
|
|
set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
|
|
|
|
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
|
|
|
|
file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
|
|
TIMEOUT:STRING=@CTestTestTimeout_TIME@
|
|
")
|
|
|
|
CTEST_START(Experimental)
|
|
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
|
CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
|
CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
|
|
|
set(log ${CTEST_BINARY_DIRECTORY}/timeout.log)
|
|
if(EXISTS "${log}")
|
|
# Verify that the timeout test did not finish sleeping.
|
|
file(STRINGS "${log}" after_sleep REGEX "after sleep")
|
|
if(after_sleep)
|
|
message(FATAL_ERROR "Log indicates timeout did not kill child.")
|
|
else()
|
|
message(STATUS "Log indicates timeout correctly killed child.")
|
|
endif()
|
|
else()
|
|
message(FATAL_ERROR "Log does not exist:\n ${log}")
|
|
endif()
|