From c896dc78f970aa154a722e65dc099d2c6d3b3bcd Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 17 Nov 2023 18:31:26 -0500 Subject: Tests: Cover ctest waiting on insufficient non-zero spare test-load --- Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake | 10 ++++++---- .../CTestCommandLine/test-load-wait-stdout.txt | 21 --------------------- .../CTestCommandLine/test-load-wait1-stdout.txt | 21 +++++++++++++++++++++ .../ctest_test/CTestTestLoadWait-stdout.txt | 15 --------------- .../ctest_test/CTestTestLoadWait1-stdout.txt | 15 +++++++++++++++ Tests/RunCMake/ctest_test/RunCMakeTest.cmake | 16 ++++++++++------ Tests/RunCMake/ctest_test/TestLoadWait-stdout.txt | 15 --------------- Tests/RunCMake/ctest_test/TestLoadWait1-stdout.txt | 15 +++++++++++++++ 8 files changed, 67 insertions(+), 61 deletions(-) delete mode 100644 Tests/RunCMake/CTestCommandLine/test-load-wait-stdout.txt create mode 100644 Tests/RunCMake/CTestCommandLine/test-load-wait1-stdout.txt delete mode 100644 Tests/RunCMake/ctest_test/CTestTestLoadWait-stdout.txt create mode 100644 Tests/RunCMake/ctest_test/CTestTestLoadWait1-stdout.txt delete mode 100644 Tests/RunCMake/ctest_test/TestLoadWait-stdout.txt create mode 100644 Tests/RunCMake/ctest_test/TestLoadWait1-stdout.txt diff --git a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake index 223a61c..8a9cc8c 100644 --- a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake @@ -229,19 +229,21 @@ function(run_TestLoad name load) file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") file(WRITE "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" " add_test(TestLoad1 \"${CMAKE_COMMAND}\" -E echo \"test of --test-load\") + set_tests_properties(TestLoad1 PROPERTIES PROCESSORS 2) add_test(TestLoad2 \"${CMAKE_COMMAND}\" -E echo \"test of --test-load\") + set_tests_properties(TestLoad2 PROPERTIES PROCESSORS 2) ") - run_cmake_command(${name} ${CMAKE_CTEST_COMMAND} -VV -j2 --test-load ${load}) + run_cmake_command(${name} ${CMAKE_CTEST_COMMAND} -VV -j8 --test-load ${load}) endfunction() # Tests for the --test-load feature of ctest # # Spoof a load average value to make these tests more reliable. -set(ENV{__CTEST_FAKE_LOAD_AVERAGE_FOR_TESTING} 5) +set(ENV{__CTEST_FAKE_LOAD_AVERAGE_FOR_TESTING} 7) # Verify that new tests are not started when the load average exceeds # our threshold and that they then run once the load average drops. -run_TestLoad(test-load-wait 3) +run_TestLoad(test-load-wait1 8) # Verify that warning message is displayed but tests still start when # an invalid argument is given. @@ -249,7 +251,7 @@ run_TestLoad(test-load-invalid 'two') # Verify that new tests are started when the load average falls below # our threshold. -run_TestLoad(test-load-pass 10) +run_TestLoad(test-load-pass 12) unset(ENV{__CTEST_FAKE_LOAD_AVERAGE_FOR_TESTING}) diff --git a/Tests/RunCMake/CTestCommandLine/test-load-wait-stdout.txt b/Tests/RunCMake/CTestCommandLine/test-load-wait-stdout.txt deleted file mode 100644 index db7d7f3..0000000 --- a/Tests/RunCMake/CTestCommandLine/test-load-wait-stdout.txt +++ /dev/null @@ -1,21 +0,0 @@ -Test project [^ -]*/Tests/RunCMake/CTestCommandLine/TestLoad( -[^*][^ -]*)* -\*\*\*\*\* WAITING, System Load: 5, Max Allowed Load: 3, Smallest test TestLoad[1-2] requires 1\*\*\*\*\* -test 1 - Start 1: TestLoad1 -+( -[^*][^ -]*)* -test 2 - Start 2: TestLoad2 -+( -[^*][^ -]*)* -1/2 Test #[1-2]: TestLoad[1-2] ........................ Passed +[0-9.]+ sec( -[^*][^ -]*)* -2/2 Test #[1-2]: TestLoad[1-2] ........................ Passed +[0-9.]+ sec -+ -100% tests passed, 0 tests failed out of 2 diff --git a/Tests/RunCMake/CTestCommandLine/test-load-wait1-stdout.txt b/Tests/RunCMake/CTestCommandLine/test-load-wait1-stdout.txt new file mode 100644 index 0000000..aa91950 --- /dev/null +++ b/Tests/RunCMake/CTestCommandLine/test-load-wait1-stdout.txt @@ -0,0 +1,21 @@ +Test project [^ +]*/Tests/RunCMake/CTestCommandLine/TestLoad( +[^*][^ +]*)* +\*\*\*\*\* WAITING, System Load: 7, Max Allowed Load: 8, Smallest test TestLoad[1-2] requires 2\*\*\*\*\* +test 1 + Start 1: TestLoad1 ++( +[^*][^ +]*)* +test 2 + Start 2: TestLoad2 ++( +[^*][^ +]*)* +1/2 Test #[1-2]: TestLoad[1-2] ........................ Passed +[0-9.]+ sec( +[^*][^ +]*)* +2/2 Test #[1-2]: TestLoad[1-2] ........................ Passed +[0-9.]+ sec ++ +100% tests passed, 0 tests failed out of 2 diff --git a/Tests/RunCMake/ctest_test/CTestTestLoadWait-stdout.txt b/Tests/RunCMake/ctest_test/CTestTestLoadWait-stdout.txt deleted file mode 100644 index 2f4468f..0000000 --- a/Tests/RunCMake/ctest_test/CTestTestLoadWait-stdout.txt +++ /dev/null @@ -1,15 +0,0 @@ -Test project [^ -]*/Tests/RunCMake/ctest_test/CTestTestLoadWait-build( -[^*][^ -]*)* -\*\*\*\*\* WAITING, System Load: 5, Max Allowed Load: 4, Smallest test RunCMakeVersion requires 1\*\*\*\*\* -test 1 - Start 1: RunCMakeVersion -+( -[^*][^ -]*)* -1/1 Test #1: RunCMakeVersion .................. Passed +[0-9.]+ sec -+ -100% tests passed, 0 tests failed out of 1 -+ -Total Test time \(real\) = +[0-9.]+ sec$ diff --git a/Tests/RunCMake/ctest_test/CTestTestLoadWait1-stdout.txt b/Tests/RunCMake/ctest_test/CTestTestLoadWait1-stdout.txt new file mode 100644 index 0000000..70d8d3e --- /dev/null +++ b/Tests/RunCMake/ctest_test/CTestTestLoadWait1-stdout.txt @@ -0,0 +1,15 @@ +Test project [^ +]*/Tests/RunCMake/ctest_test/CTestTestLoadWait1-build( +[^*][^ +]*)* +\*\*\*\*\* WAITING, System Load: 7, Max Allowed Load: 8, Smallest test RunCMakeVersion requires 2\*\*\*\*\* +test 1 + Start 1: RunCMakeVersion ++( +[^*][^ +]*)* +1/1 Test #1: RunCMakeVersion .................. Passed +[0-9.]+ sec ++ +100% tests passed, 0 tests failed out of 1 ++ +Total Test time \(real\) = +[0-9.]+ sec$ diff --git a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake index d2f3da3..9570c77 100644 --- a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake @@ -14,16 +14,19 @@ run_ctest_test(TestQuiet QUIET) # Tests for the 'Test Load' feature of ctest # # Spoof a load average value to make these tests more reliable. -set(ENV{__CTEST_FAKE_LOAD_AVERAGE_FOR_TESTING} 5) +set(ENV{__CTEST_FAKE_LOAD_AVERAGE_FOR_TESTING} 7) set(RunCTest_VERBOSE_FLAG -VV) +set(CASE_CMAKELISTS_SUFFIX_CODE [[ +set_property(TEST RunCMakeVersion PROPERTY PROCESSORS 2) +]]) # Verify that new tests are started when the load average falls below # our threshold. -run_ctest_test(TestLoadPass TEST_LOAD 6) +run_ctest_test(TestLoadPass TEST_LOAD 8) # Verify that new tests are not started when the load average exceeds # our threshold and that they then run once the load average drops. -run_ctest_test(TestLoadWait TEST_LOAD 2) +run_ctest_test(TestLoadWait1 TEST_LOAD 8 PARALLEL_LEVEL 8) # Verify that when an invalid "TEST_LOAD" value is given, a warning # message is displayed and the value is ignored. @@ -31,13 +34,13 @@ run_ctest_test(TestLoadInvalid TEST_LOAD "ERR1") # Verify that new tests are started when the load average falls below # our threshold. -set(CASE_CTEST_TEST_LOAD 7) +set(CASE_CTEST_TEST_LOAD 9) run_ctest_test(CTestTestLoadPass) # Verify that new tests are not started when the load average exceeds # our threshold and that they then run once the load average drops. -set(CASE_CTEST_TEST_LOAD 4) -run_ctest_test(CTestTestLoadWait) +set(CASE_CTEST_TEST_LOAD 8) +run_ctest_test(CTestTestLoadWait1 PARALLEL_LEVEL 8) # Verify that when an invalid "CTEST_TEST_LOAD" value is given, # a warning message is displayed and the value is ignored. @@ -51,6 +54,7 @@ run_ctest_test(TestLoadOrder TEST_LOAD "ERR4") unset(ENV{__CTEST_FAKE_LOAD_AVERAGE_FOR_TESTING}) unset(CASE_CTEST_TEST_LOAD) +unset(CASE_CMAKELISTS_SUFFIX_CODE) unset(RunCTest_VERBOSE_FLAG) block() diff --git a/Tests/RunCMake/ctest_test/TestLoadWait-stdout.txt b/Tests/RunCMake/ctest_test/TestLoadWait-stdout.txt deleted file mode 100644 index fc32958..0000000 --- a/Tests/RunCMake/ctest_test/TestLoadWait-stdout.txt +++ /dev/null @@ -1,15 +0,0 @@ -Test project [^ -]*/Tests/RunCMake/ctest_test/TestLoadWait-build( -[^*][^ -]*)* -\*\*\*\*\* WAITING, System Load: 5, Max Allowed Load: 2, Smallest test RunCMakeVersion requires 1\*\*\*\*\* -test 1 - Start 1: RunCMakeVersion -+( -[^*][^ -]*)* -1/1 Test #1: RunCMakeVersion .................. Passed +[0-9.]+ sec -+ -100% tests passed, 0 tests failed out of 1 -+ -Total Test time \(real\) = +[0-9.]+ sec$ diff --git a/Tests/RunCMake/ctest_test/TestLoadWait1-stdout.txt b/Tests/RunCMake/ctest_test/TestLoadWait1-stdout.txt new file mode 100644 index 0000000..bca3e54 --- /dev/null +++ b/Tests/RunCMake/ctest_test/TestLoadWait1-stdout.txt @@ -0,0 +1,15 @@ +Test project [^ +]*/Tests/RunCMake/ctest_test/TestLoadWait1-build( +[^*][^ +]*)* +\*\*\*\*\* WAITING, System Load: 7, Max Allowed Load: 8, Smallest test RunCMakeVersion requires 2\*\*\*\*\* +test 1 + Start 1: RunCMakeVersion ++( +[^*][^ +]*)* +1/1 Test #1: RunCMakeVersion .................. Passed +[0-9.]+ sec ++ +100% tests passed, 0 tests failed out of 1 ++ +Total Test time \(real\) = +[0-9.]+ sec$ -- cgit v0.12