summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CTestCommandLine
Commit message (Collapse)AuthorAgeFilesLines
* CTest: Fix --test-load regressionBrad King2018-09-105-6/+10
| | | | | | | | | | | | | | | | | | | | | | | The `ctest --test-load` option is implemented in `StartNextTests` by not starting any tests when the load is too high and instead sleeping and then returning. Prior to commit v3.11.0-rc1~117^2 (CTest: Re-implement test process handling using libuv, 2017-12-10) our outer loop in `RunTests` would immediately call `StartNextTests` again. However, now the `uv_run` loop may simply terminate if there are no tests running because no events are left pending. Fix this by converting the sleep in `StartNextTests` into a libuv timer that it starts instead. This avoids leaving `uv_run` with no pending events. In the case that there are other running tests this also allows CTest to detect when they finish even if it during the wait period where we previously slept. This regression was not caught by the test suite because it only verified that we do not start new tests when the load was too high and not that we proceed to start tests when the load drops. Revise the test suite to cover both. Fixes: #18338
* CTest: Add options to control test process affinity to CPUsBrad King2018-03-052-0/+21
| | | | | | | | | | In commit v2.8.0~170 (ENH: Added ctest test options PROCESSORS and RUN_SERIAL, 2009-09-07) CTest learned to track the number of processors allocated to running tests in order to balance it against the desired level of parallelism. Extend this idea by introducing a new `PROCESSOR_AFFINITY` test property to ask that CTest run a test with the CPU affinity mask set. This will allow a set of tests that are running concurrently to use disjoint CPU resources.
* Tests: Remove incorrect use of 'test-timeout' optionBetsy McPhail2017-11-101-1/+1
|
* CTest: Weight reported test times by PROCESSORS in summariesBill Hoffman2017-09-081-2/+2
| | | | | | This commit changes the times reported by labels and subprojects to be weighted by the PROCESSORS property. It is reported with `sec*proc` instead of just `sec`.
* CTest: Properly reset output to avoid duplication with --repeat-until-failSylvain Joubert2017-01-121-0/+2
|
* Update tests that expect uncompressed outputZack Galbreath2016-11-081-0/+1
| | | | Pass --no-compressed-output to ctest for tests that expect uncompressed output.
* CTest: Fix regression in handling of a RUN_SERIAL test that failsBrad King2015-10-234-0/+27
| | | | | | | Refactoring in commit v3.4.0-rc1~390^2~1 (cmCTestMultiProcessHandler: Refactor RUN_SERIAL implementation, 2015-06-01) forgot to update a code path for cleaning up after a failed RUN_SERIAL test. This causes an infinite loop after a RUN_SERIAL test fails. Fix it and add a test.
* CTest: Add options to limit output of passed and failed testsRoman Wüger2015-09-184-0/+36
| | | | | | | | | | Add ctest command-line options: --test-output-size-passed <n> --test-output-size-failed <n> to set the amount of test output to store in Test.xml as a command-line dashboard client.
* CTest: Show the number of tests for each label in the summaryBetsy McPhail2015-07-062-0/+30
|
* ctest: Optionally avoid starting tests that may exceed a given CPU loadBetsy McPhail2015-06-307-0/+52
| | | | | | | | | | | | | | Add a TestLoad setting to CTest that can be set via a new --test-load command-line option, CTEST_TEST_LOAD variable, or TEST_LOAD option to the ctest_test command. Teach cmCTestMultiProcessHandler to measure the CPU load and avoid starting tests that may take more than the spare load currently available. The expression <current_load> + <test_processors> <= <max-load> must be true to start a new test. Co-Author: Zack Galbreath <zack.galbreath@kitware.com>
* CTest: Capture test stdout/stderr through one pipe (#15600)Brad King2015-06-033-0/+30
| | | | | | | Use the KWSys Process "MergeOutput" option to give each test child process the same pipe for both stdout and stderr. This allows natural merging of stdout and stderr together instead of merging on arbitrary buffered read boundaries as before.
* Tests: Add case for 'ctest' run with bad CTestTestfileBrad King2015-05-142-0/+17
|
* Tests: Make a CTest test deterministic.Stephen Kelly2015-04-201-0/+3
| | | | The test expect sub-test not to run in parallel.
* Tests: Fix RunCMake.CTestCommandLine expected output time matchingBrad King2015-03-311-11/+11
| | | | | | When matching ctest command-line output, we must account for the formatting of times that take 10 seconds or more. The values are right-justified, so use " +" to match any amount of space before them.
* ctest: Add a new --repeat-until-fail optionBill Hoffman2015-03-2313-0/+96
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.