Browse Source

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.

Zach Mullen 16 years ago
parent
commit
f30c82f370

+ 10 - 0
Tests/CMakeLists.txt

@@ -1255,6 +1255,16 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel
       PASS_REGULAR_EXPRESSION "SegFault")
   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"

+ 7 - 0
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")

+ 7 - 0
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)

+ 1 - 0
Tests/CTestTestBadExe/notAnExe.txt

@@ -0,0 +1 @@
+This is not an executable file.

+ 25 - 0
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()

+ 0 - 1
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)