summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2012-12-26 20:22:59 (GMT)
committerBrad King <brad.king@kitware.com>2013-01-03 18:37:50 (GMT)
commite378ba5f39a9d8ebe0335390870a82774ecdd171 (patch)
tree02e7fd588c0b8264a973a948816fb71b50148da9 /Tests/CMakeLists.txt
parent324780697c5020a027efdc24bd9cc2fc926a3546 (diff)
downloadCMake-e378ba5f39a9d8ebe0335390870a82774ecdd171.zip
CMake-e378ba5f39a9d8ebe0335390870a82774ecdd171.tar.gz
CMake-e378ba5f39a9d8ebe0335390870a82774ecdd171.tar.bz2
Add CTestLimitDashJ test (#12904)
Add a test that verifies that when ctest -j 4 is called, at most, 4 tests are executed at any one time. The test works by running the same script as each of 100 tests. And then setting up test properties for DEPENDS, RUN_SERIAL, PROCESSORS and COST in order to get the tests to run in a semi-deterministic ordering, even in parallel. The script writes a file, sleeps for a bit, and then deletes the file. In the meantime, it counts files that currently exist, and emits output that triggers a test failure if the count of files is ever greater than 4. Prior to the commit that fixed bug #12904, this would result in a failed test because the output of some of the tests would indicate that more than 4 tests were running simultaneously. Now that this issue is resolved, this test will help guarantee that it stays resolved moving forward.
Diffstat (limited to 'Tests/CMakeLists.txt')
-rw-r--r--Tests/CMakeLists.txt3
1 files changed, 3 insertions, 0 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index f443b5b..b3302f9 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1959,6 +1959,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestParallel/testOutput.log"
)
+ add_test_macro(CTestLimitDashJ ${CMAKE_CTEST_COMMAND} -j 4
+ --output-on-failure -C "\${CTestTest_CONFIG}")
+
add_test(CTestTestPrintLabels ${CMAKE_CTEST_COMMAND} --print-labels)
set_tests_properties(CTestTestPrintLabels PROPERTIES LABELS "Label1;Label2")
set_tests_properties(CTestTestPrintLabels PROPERTIES PASS_REGULAR_EXPRESSION