1. 29 Oct, 2019 1 commit
    • Brad King's avatar
      ctest: Add --repeat-until-pass option · 80c2c9d1
      Brad King authored
      Add an option to re-run tests if they fail.  This will help tolerate
      sporadic failures.
      
      Issue: #17010
      Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
      Co-Author: Chuck Atkins <chuck.atkins@kitware.com>
      80c2c9d1
  2. 02 Oct, 2019 1 commit
  3. 22 Aug, 2019 1 commit
  4. 18 Jul, 2019 1 commit
  5. 09 Jul, 2019 1 commit
    • Stephen Manz's avatar
      CTest: Clean up stdout and logfile output for Pass/Fail regex · adcbdb14
      Stephen Manz authored
      For pass regex, display only the element that was found, rather
      than all elements
      Rename loop variable for fail regex, from pass to fail
      For consistency, add space in output for pass
      Add tests that find and don't find PASS_REGULAR_EXPRESSION, and a test
      that finds FAIL_REGULAR_EXPRESSION, whose LastTest.log files are checked
      using *-check.cmake.
      adcbdb14
  6. 17 Jan, 2019 4 commits
  7. 16 Jan, 2019 1 commit
  8. 10 Jan, 2019 1 commit
  9. 15 Nov, 2018 1 commit
    • Brad King's avatar
      CTest: Restore inheritance of stdin by test processes · 86e83154
      Brad King authored
      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
      86e83154
  10. 10 Sep, 2018 1 commit
    • Brad King's avatar
      CTest: Fix --test-load regression · 292ec157
      Brad King authored
      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
      292ec157
  11. 05 Mar, 2018 1 commit
    • Brad King's avatar
      CTest: Add options to control test process affinity to CPUs · 6be53c66
      Brad King authored
      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.
      6be53c66
  12. 10 Nov, 2017 1 commit
  13. 08 Sep, 2017 1 commit
  14. 12 Jan, 2017 1 commit
  15. 08 Nov, 2016 1 commit
  16. 23 Oct, 2015 1 commit
    • Brad King's avatar
      CTest: Fix regression in handling of a RUN_SERIAL test that fails · e61973e1
      Brad King authored
      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.
      e61973e1
  17. 18 Sep, 2015 1 commit
  18. 06 Jul, 2015 1 commit
  19. 30 Jun, 2015 1 commit
    • Betsy McPhail's avatar
      ctest: Optionally avoid starting tests that may exceed a given CPU load · f62d301b
      Betsy McPhail authored
      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>
      f62d301b
  20. 03 Jun, 2015 1 commit
    • Brad King's avatar
      CTest: Capture test stdout/stderr through one pipe (#15600) · 721b7e3e
      Brad King authored
      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.
      721b7e3e
  21. 14 May, 2015 1 commit
  22. 20 Apr, 2015 1 commit
  23. 31 Mar, 2015 1 commit
  24. 23 Mar, 2015 1 commit