From f30c82f370f88a1a8edee8e3897b46e9c96cbf3d Mon Sep 17 00:00:00 2001 From: Zach Mullen Date: Mon, 7 Dec 2009 09:34:05 -0500 Subject: Added a unit test for running a test command which exists but is not an executable, because it previously caused the outer ctest process to fail. --- Tests/CMakeLists.txt | 10 ++++++++++ Tests/CTestTestBadExe/CMakeLists.txt | 7 +++++++ Tests/CTestTestBadExe/CTestConfig.cmake | 7 +++++++ Tests/CTestTestBadExe/notAnExe.txt | 1 + Tests/CTestTestBadExe/test.cmake.in | 25 +++++++++++++++++++++++++ Tests/CTestTestCrash/CMakeLists.txt | 1 - 6 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 Tests/CTestTestBadExe/CMakeLists.txt create mode 100644 Tests/CTestTestBadExe/CTestConfig.cmake create mode 100644 Tests/CTestTestBadExe/notAnExe.txt create mode 100644 Tests/CTestTestBadExe/test.cmake.in diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index fe8caeb..c465aa8 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1256,6 +1256,16 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel ENDIF(CMAKE_TEST_GENERATOR MATCHES "Watcom WMake") CONFIGURE_FILE( + "${CMake_SOURCE_DIR}/Tests/CTestTestBadExe/test.cmake.in" + "${CMake_BINARY_DIR}/Tests/CTestTestBadExe/test.cmake" + @ONLY ESCAPE_QUOTES) + ADD_TEST(CTestTestBadExe ${CMAKE_CTEST_COMMAND} + -S "${CMake_BINARY_DIR}/Tests/CTestTestBadExe/test.cmake" -V + --output-log "${CMake_BINARY_DIR}/Tests/CTestTestBadExe/testOutput.log" + ) + SET_TESTS_PROPERTIES(CTestTestBadExe PROPERTIES WILL_FAIL TRUE) + + CONFIGURE_FILE( "${CMake_SOURCE_DIR}/Tests/CTestTestParallel/test.cmake.in" "${CMake_BINARY_DIR}/Tests/CTestTestParallel/test.cmake" @ONLY ESCAPE_QUOTES) diff --git a/Tests/CTestTestBadExe/CMakeLists.txt b/Tests/CTestTestBadExe/CMakeLists.txt new file mode 100644 index 0000000..8a925b6 --- /dev/null +++ b/Tests/CTestTestBadExe/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required (VERSION 2.6) +PROJECT(CTestTestBadExe) +INCLUDE(CTest) + +CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/notAnExe.txt" "${CMAKE_CURRENT_BINARY_DIR}/notAnExe.txt" COPYONLY) + +ADD_TEST (TestBadExe "${CMAKE_CURRENT_BINARY_DIR}/notAnExe.txt") diff --git a/Tests/CTestTestBadExe/CTestConfig.cmake b/Tests/CTestTestBadExe/CTestConfig.cmake new file mode 100644 index 0000000..e1c5b1b --- /dev/null +++ b/Tests/CTestTestBadExe/CTestConfig.cmake @@ -0,0 +1,7 @@ +set (CTEST_PROJECT_NAME "CTestTestCrash") +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/CTestTestBadExe/notAnExe.txt b/Tests/CTestTestBadExe/notAnExe.txt new file mode 100644 index 0000000..f2a0aa4 --- /dev/null +++ b/Tests/CTestTestBadExe/notAnExe.txt @@ -0,0 +1 @@ +This is not an executable file. diff --git a/Tests/CTestTestBadExe/test.cmake.in b/Tests/CTestTestBadExe/test.cmake.in new file mode 100644 index 0000000..976e63d --- /dev/null +++ b/Tests/CTestTestBadExe/test.cmake.in @@ -0,0 +1,25 @@ +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@-Crash") + +SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestBadExe") +SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestBadExe") +SET(CTEST_CVS_COMMAND "@CVSCOMMAND@") +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}) + +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) +#CTEST_SUBMIT() diff --git a/Tests/CTestTestCrash/CMakeLists.txt b/Tests/CTestTestCrash/CMakeLists.txt index 669be52..0ac6ba0 100644 --- a/Tests/CTestTestCrash/CMakeLists.txt +++ b/Tests/CTestTestCrash/CMakeLists.txt @@ -3,6 +3,5 @@ PROJECT(CTestTestCrash) INCLUDE(CTest) ADD_EXECUTABLE (Crash crash.cxx) -TARGET_LINK_LIBRARIES (NoBuild ${EXTRA_LIBS}) ADD_TEST (TestCrash Crash) -- cgit v0.12