From f321dbb17b67f7345594562a7a458fb98637eea0 Mon Sep 17 00:00:00 2001 From: Zach Mullen Date: Tue, 29 Sep 2009 15:18:46 -0400 Subject: ENH: Added ctest test coverage for a test timeout --- Tests/CMakeLists.txt | 15 +++++++++++++-- Tests/CTestTestTimeout/CMakeLists.txt | 18 ++++++++++++++++++ Tests/CTestTestTimeout/CTestConfig.cmake | 7 +++++++ Tests/CTestTestTimeout/test.cmake.in | 32 ++++++++++++++++++++++++++++++++ Tests/CTestTestTimeout/timeout.c | 10 ++++++++++ 5 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 Tests/CTestTestTimeout/CMakeLists.txt create mode 100644 Tests/CTestTestTimeout/CTestConfig.cmake create mode 100644 Tests/CTestTestTimeout/test.cmake.in create mode 100644 Tests/CTestTestTimeout/timeout.c diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index a9eb5a0..2f5980d 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1091,9 +1091,20 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel -S "${CMake_BINARY_DIR}/Tests/CTestTestParallel/test.cmake" -V --output-log "${CMake_BINARY_DIR}/Tests/CTestTestParallel/testOutput.log" ) - ADD_TEST(CTestTestShowOnly ${CMAKE_CTEST_COMMAND} - -N + + CONFIGURE_FILE( + "${CMake_SOURCE_DIR}/Tests/CTestTestTimeout/test.cmake.in" + "${CMake_BINARY_DIR}/Tests/CTestTestTimeout/test.cmake" + @ONLY ESCAPE_QUOTES) + ADD_TEST(CTestTestTimeout ${CMAKE_CTEST_COMMAND} + -S "${CMake_BINARY_DIR}/Tests/CTestTestTimeout/test.cmake" -V + --output-log "${CMake_BINARY_DIR}/Tests/CTestTestTimeout/testOutput.log" ) + SET_TESTS_PROPERTIES(CTestTestTimeout PROPERTIES + PASS_REGULAR_EXPRESSION "\\*\\*\\*Timeout") + + ADD_TEST(CTestTestShowOnly ${CMAKE_CTEST_COMMAND} -N) + IF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS) CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in" "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES) diff --git a/Tests/CTestTestTimeout/CMakeLists.txt b/Tests/CTestTestTimeout/CMakeLists.txt new file mode 100644 index 0000000..15942c8 --- /dev/null +++ b/Tests/CTestTestTimeout/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required (VERSION 2.6) +PROJECT(CTestTestTimeout) + +SET(DART_ROOT "" CACHE STRING "" FORCE) +ENABLE_TESTING() +INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake) + +GET_FILENAME_COMPONENT(CTEST_COMMAND "${CMAKE_COMMAND}" PATH) +SET(CTEST_COMMAND "${CTEST_COMMAND}/ctest") + +ADD_EXECUTABLE (Timeout timeout.c) + +ENABLE_TESTING () + +ADD_TEST (TestTimeout Timeout) +SET_TESTS_PROPERTIES(TestTimeout PROPERTIES TIMEOUT 1) + +INCLUDE (CTest) diff --git a/Tests/CTestTestTimeout/CTestConfig.cmake b/Tests/CTestTestTimeout/CTestConfig.cmake new file mode 100644 index 0000000..76d62ad --- /dev/null +++ b/Tests/CTestTestTimeout/CTestConfig.cmake @@ -0,0 +1,7 @@ +set(CTEST_PROJECT_NAME "CTestTestTimeout") +set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") +set(CTEST_DART_SERVER_VERSION "2") +set(CTEST_DROP_METHOD "http") +set(CTEST_DROP_SITE "www.cdash.org") +set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard") +set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Tests/CTestTestTimeout/test.cmake.in b/Tests/CTestTestTimeout/test.cmake.in new file mode 100644 index 0000000..4582801 --- /dev/null +++ b/Tests/CTestTestTimeout/test.cmake.in @@ -0,0 +1,32 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.1) + +# 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(CMAKE_TEST_MAKEPROGRAM "@CMAKE_TEST_MAKEPROGRAM@") +SET(MAKECOMMAND "@MAKECOMMAND@") +SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@") +SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}") +SET(CTEST_MEMORYCHECK_COMMAND "@MEMORYCHECK_COMMAND@") +SET(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@") +SET(CTEST_MEMORYCHECK_COMMAND_OPTIONS "@MEMORYCHECK_COMMAND_OPTIONS@") +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" " +CMAKE_TEST_GENERATOR:STRING=@CMAKE_TEST_GENERATOR@ +CMAKE_TEST_MAKEPROGRAM:FILEPATH=@CMAKE_TEST_MAKEPROGRAM@ +MAKECOMMAND:STRING=@MAKECOMMAND@ +") + +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) diff --git a/Tests/CTestTestTimeout/timeout.c b/Tests/CTestTestTimeout/timeout.c new file mode 100644 index 0000000..e30cf5a --- /dev/null +++ b/Tests/CTestTestTimeout/timeout.c @@ -0,0 +1,10 @@ +#include + +/* infinite loop */ +int main(void) +{ + while(1) + { + } + return 0; +} -- cgit v0.12