summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CTestCommandLine
Commit message (Collapse)AuthorAgeFilesLines
* CTest: Teach --show-only= to reject unknown valuesBrad King2019-01-174-0/+5
|
* CTest: Teach --show-only=json-v1 to filter out not-available testsBrad King2019-01-171-0/+1
| | | | | | Avoid exposing the internal special value that we use to track tests not available in the tested configuration. This also prevents clients from having to do the filtering themselves.
* Tests: Fix RunCMake.CTestCommandLine case when no python is foundBrad King2019-01-171-0/+3
| | | | | Do not try to run the python checks if the python executable is not available.
* Tests: Rename RunCMake.CTestCommandLine show-only test casesBrad King2019-01-175-12/+12
| | | | | The current name was chosen from an earlier design iteration of the command-line option name. Rename the case to match the final name.
* Tests: Fix RunCMake.CTestCommandLine to actually check json-v1Brad King2019-01-161-0/+1
| | | | | Add a file missing from commit 67209a9291 (Tests: Add cases for ctest --show-only=json-v1, 2018-11-01) to actually hook up the content check.
* Tests: Add cases for ctest --show-only=json-v1Brad King2019-01-103-0/+159
|
* CTest: Restore inheritance of stdin by test processesBrad King2018-11-153-0/+14
| | | | | | | | | | | Since commit v3.11.0-rc1~117^2 (CTest: Re-implement test process handling using libuv, 2017-12-10) we do not give the child test processes any stdin. Prior to that change we let the child test processes inherit stdin from ctest itself. Tests that run serially might be able to use the real stdin meaningfully, so restore that behavior and add a test case. Fixes: #18591
* 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.