summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CTest
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake/CTest')
-rw-r--r--Tests/RunCMake/CTest/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/CTest/RunCMakeTest.cmake9
-rw-r--r--Tests/RunCMake/CTest/TestfileErrors-Script.cmake4
-rw-r--r--Tests/RunCMake/CTest/TestfileErrors-test-result.txt1
-rw-r--r--Tests/RunCMake/CTest/TestfileErrors-test-stderr.txt11
-rw-r--r--Tests/RunCMake/CTest/TestfileErrors.cmake3
6 files changed, 29 insertions, 1 deletions
diff --git a/Tests/RunCMake/CTest/CMakeLists.txt b/Tests/RunCMake/CTest/CMakeLists.txt
index 73e6a78..f1a83e8 100644
--- a/Tests/RunCMake/CTest/CMakeLists.txt
+++ b/Tests/RunCMake/CTest/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.4)
+cmake_minimum_required(VERSION 3.3)
if(NOT NoProject)
project(${RunCMake_TEST} NONE)
endif()
diff --git a/Tests/RunCMake/CTest/RunCMakeTest.cmake b/Tests/RunCMake/CTest/RunCMakeTest.cmake
index 761224a..62606f8 100644
--- a/Tests/RunCMake/CTest/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CTest/RunCMakeTest.cmake
@@ -18,3 +18,12 @@ function(run_CMakeCTestArguments)
run_cmake_command(CMakeCTestArguments-test ${CMAKE_COMMAND} --build . --config Debug --target "${test}")
endfunction()
run_CMakeCTestArguments()
+
+function(run_TestfileErrors)
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TestfileErrors-build)
+ run_cmake(TestfileErrors)
+ set(RunCMake_TEST_NO_CLEAN 1)
+ run_cmake_command(TestfileErrors-build ${CMAKE_COMMAND} --build . --config Debug)
+ run_cmake_command(TestfileErrors-test ${CMAKE_CTEST_COMMAND} -C Debug)
+endfunction()
+run_TestfileErrors()
diff --git a/Tests/RunCMake/CTest/TestfileErrors-Script.cmake b/Tests/RunCMake/CTest/TestfileErrors-Script.cmake
new file mode 100644
index 0000000..d9fc7c8
--- /dev/null
+++ b/Tests/RunCMake/CTest/TestfileErrors-Script.cmake
@@ -0,0 +1,4 @@
+message(SEND_ERROR "SEND_ERROR")
+message(FATAL_ERROR "FATAL_ERROR")
+# This shouldn't get printed because the script aborts on FATAL_ERROR
+message(SEND_ERROR "reaching the unreachable")
diff --git a/Tests/RunCMake/CTest/TestfileErrors-test-result.txt b/Tests/RunCMake/CTest/TestfileErrors-test-result.txt
new file mode 100644
index 0000000..d197c91
--- /dev/null
+++ b/Tests/RunCMake/CTest/TestfileErrors-test-result.txt
@@ -0,0 +1 @@
+[^0]
diff --git a/Tests/RunCMake/CTest/TestfileErrors-test-stderr.txt b/Tests/RunCMake/CTest/TestfileErrors-test-stderr.txt
new file mode 100644
index 0000000..a3a476b
--- /dev/null
+++ b/Tests/RunCMake/CTest/TestfileErrors-test-stderr.txt
@@ -0,0 +1,11 @@
+CMake Error at [^
+]*/Tests/RunCMake/CTest/TestfileErrors-Script.cmake:1 \(message\):
+ SEND_ERROR
+Call Stack \(most recent call first\):
+ CTestTestfile.cmake:[0-9]+ \(include\)
++
+CMake Error at [^
+]*/Tests/RunCMake/CTest/TestfileErrors-Script.cmake:2 \(message\):
+ FATAL_ERROR
+Call Stack \(most recent call first\):
+ CTestTestfile.cmake:[0-9]+ \(include\)
diff --git a/Tests/RunCMake/CTest/TestfileErrors.cmake b/Tests/RunCMake/CTest/TestfileErrors.cmake
new file mode 100644
index 0000000..676eb47
--- /dev/null
+++ b/Tests/RunCMake/CTest/TestfileErrors.cmake
@@ -0,0 +1,3 @@
+include(CTest)
+add_test(NAME "unreachable" COMMAND ${CMAKE_COMMAND} -E true)
+set_property(DIRECTORY PROPERTY TEST_INCLUDE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/TestfileErrors-Script.cmake)