summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CTestCommandLine/test1.cmake
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2015-03-05 21:51:10 (GMT)
committerBrad King <brad.king@kitware.com>2015-03-23 13:08:22 (GMT)
commitfde70a1b26e130663cc4c02e0530d3aadc165a41 (patch)
treeeac5b5a1a6cfe1709259430eb22e5f7a7cea48ad /Tests/RunCMake/CTestCommandLine/test1.cmake
parent56be75b3107b210631919c13496060d648f97b14 (diff)
downloadCMake-fde70a1b26e130663cc4c02e0530d3aadc165a41.zip
CMake-fde70a1b26e130663cc4c02e0530d3aadc165a41.tar.gz
CMake-fde70a1b26e130663cc4c02e0530d3aadc165a41.tar.bz2
ctest: Add a new --repeat-until-fail option
This option tells ctest to run each test N times until the test fails or the N times have run. This is useful for finding random failing tests.
Diffstat (limited to 'Tests/RunCMake/CTestCommandLine/test1.cmake')
-rw-r--r--Tests/RunCMake/CTestCommandLine/test1.cmake13
1 files changed, 13 insertions, 0 deletions
diff --git a/Tests/RunCMake/CTestCommandLine/test1.cmake b/Tests/RunCMake/CTestCommandLine/test1.cmake
new file mode 100644
index 0000000..eeae7a2
--- /dev/null
+++ b/Tests/RunCMake/CTestCommandLine/test1.cmake
@@ -0,0 +1,13 @@
+# This is run by test test1 in repeat-until-fail-cmake.cmake with cmake -P.
+# It reads the file TEST_OUTPUT_FILE and increments the number
+# found in the file by 1. When the number is 2, then the
+# code sends out a cmake error causing the test to fail
+# the second time it is run.
+message("TEST_OUTPUT_FILE = ${TEST_OUTPUT_FILE}")
+file(READ "${TEST_OUTPUT_FILE}" COUNT)
+message("COUNT= ${COUNT}")
+math(EXPR COUNT "${COUNT} + 1")
+file(WRITE "${TEST_OUTPUT_FILE}" "${COUNT}")
+if(${COUNT} EQUAL 2)
+ message(FATAL_ERROR "this test fails on the 2nd run")
+endif()