1. 05 Mar, 2019 1 commit
  2. 10 Feb, 2019 1 commit
  3. 08 Feb, 2019 1 commit
    • Zsolt Parragi's avatar
      CTest: Represent process exit codes as 64-bit signed integer · 440b08e4
      Zsolt Parragi authored
      Exit code constants on Windows, such as `STATUS_NO_MEMORY` do not fit in
      a 32-bit signed integer type.  They do fit in an unsigned 32-bit type,
      but for compatibility with UNIX semantics we treat exit codes as signed.
      Use a 64-bit signed integer to handle both.
      440b08e4
  4. 26 Sep, 2018 1 commit
  5. 25 Sep, 2018 2 commits
  6. 12 Sep, 2018 1 commit
    • Brad King's avatar
      CTest: Improve stop-time implementation · ed71ec75
      Brad King authored
      The CTestTestStopTime test has been failing sporadically because the
      stop time causes the first internal test to have a timeout short enough
      that we might hit it and start the second test just before the stop time
      is reached.  Instead we should track when a timeout is shortened in
      order to stay within the stop time.  If a test times out for this reason
      then we should consider the stop time reached and not start any more
      tests.
      ed71ec75
  7. 07 Aug, 2018 1 commit
  8. 04 Jun, 2018 1 commit
  9. 01 Jun, 2018 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format-6.0 · d7204e64
      Kitware Robot authored
      Run the `clang-format.bash` script to update all our C and C++ code to a
      new style defined by `.clang-format`.  Use `clang-format` version 6.0.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      d7204e64
  10. 08 Mar, 2018 1 commit
  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. 31 Jan, 2018 1 commit
    • Pavel Solodovnikov's avatar
      Reduce raw string pointers usage. · 653b8946
      Pavel Solodovnikov authored
      * Change some functions to take `std::string` instead of
        `const char*` in the following classes: `cmMakeFile`, `cmake`,
        `cmCoreTryCompile`, `cmSystemTools`,  `cmState`, `cmLocalGenerator`
        and a few others.
      * Greatly reduce using of `const char*` overloads for
        `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`.
      * Remove many redundant `c_str()` conversions throughout the code.
      653b8946
  13. 23 Jan, 2018 2 commits
    • Wouter Klouwen's avatar
      CTest: add safe conversion from cmDuration to integer types · ff62b005
      Wouter Klouwen authored
      A problem area by recent refactoring of time to std::chrono has been the
      unsafe conversion from duration<double> to std::chrono::seconds, which
      is of an unspecified integer type.
      
      This commit adds a template function that for a given type provides a
      safe conversion, effectively clamping a duration<double> into what fits
      safely in that type. A specialisation for int and unsigned int are
      provided.
      
      It changes the protential problem areas to use this safe function.
      ff62b005
    • Wouter Klouwen's avatar
      CTest: introduce cmDuration · 695951bc
      Wouter Klouwen authored
      This commit introduces cmDuration as a typedef for
      std::chrono::duration<double, std::ratio<1>>. It is less verbose and
      provides for a point to put future common functionality for durations.
      
      No functional change intended.
      695951bc
  14. 10 Jan, 2018 4 commits
  15. 08 Jan, 2018 4 commits
  16. 11 Dec, 2017 1 commit
    • Brad King's avatar
      CTest: Use integer-representable value for "infinite" timeout · ba6caafa
      Brad King authored
      Refactoring in commit 66419bc0 (CTest: convert timeouts to
      std::chrono::duration, 2017-11-20) changed out "infinite" timeout to a
      value not representable by a 64-bit integer.  This causes undefined
      behavior when e.g. KWSys Process converts the duration to a `long` to
      interact with system APIs.  Use the old `1.0e7` maximum value.
      ba6caafa
  17. 08 Dec, 2017 1 commit
    • Brad King's avatar
      CTest: Simplify std::chrono::duration<double> conversion to double · 548e8f6f
      Brad King authored
      The ratio of ticks to seconds for this type is 1, so we can just use its
      `count()` directly.  This also avoids converting through the integer
      representation of `std::chrono::milliseconds`, which has a much smaller
      allowed range.
      
      Drop our `cmsysProcess_SetTimeout` wrapper as it is now very thin.
      548e8f6f
  18. 07 Dec, 2017 1 commit
    • Brad King's avatar
      CTest: Fix regression in test timeout compuatation · be470278
      Brad King authored
      Refactoring in commit 66419bc0 (CTest: convert timeouts to
      std::chrono::duration, 2017-11-20) accidentally changed the logic used
      to compute the timeout for a test when it starts.  It incorrectly limits
      the maximum possible timeout to 2 minutes rather than 2 minutes less
      than the total allowed test time remaining.  Update the new logic to
      restore the original behavior.
      
      Avoid subtracting 2 minutes from our "infinite" timeout value to avoid
      creating very large timeouts that are not "infinite" and may exceed
      integer type ranges.
      be470278
  19. 04 Dec, 2017 1 commit
    • Wouter Klouwen's avatar
      CTest: convert timeouts to std::chrono::duration · 66419bc0
      Wouter Klouwen authored
      This commit continues the refactoring of CTest to adopt std::chrono.
      After the last sets of changes that introduced std::chrono::steady_clock
      and std::chrono::system_clock respectively, it makes sense to have all
      the timeouts be stored as std::chrono::duration.
      
      No functional change intended.
      66419bc0
  20. 28 Nov, 2017 1 commit
  21. 14 Nov, 2017 1 commit
    • Wouter Klouwen's avatar
      CTest: use std::chrono::steady_clock for time keeping · e8a4036e
      Wouter Klouwen authored
      It was reported in issue #17345 that CTest does not use monotonic time
      to report test duration. Monotonic clocks are not affected by large NTP
      adjustments or things like daylight savings time.
      
      As CMake 3.10 requires C++11, which introduced std::chrono, this commit
      moves the time keeping in CTest from cmSystemTools::GetTime() to
      std::chrono::steady_clock.
      
      Fixes: #17345
      e8a4036e
  22. 21 Sep, 2017 1 commit
  23. 15 Sep, 2017 1 commit
  24. 14 Sep, 2017 1 commit
  25. 30 Aug, 2017 1 commit
  26. 26 Aug, 2017 1 commit
  27. 24 Aug, 2017 1 commit
  28. 12 Jul, 2017 1 commit
  29. 01 Jun, 2017 1 commit
  30. 21 Apr, 2017 1 commit
  31. 11 Apr, 2017 1 commit
    • Daniel Pfeifer's avatar
      Use quotes for non-system includes · 1d829c86
      Daniel Pfeifer authored
      Automate with:
      
      git grep -l '#include <cm_' -- Source \
        | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'
      
      git grep -l '#include <cmsys/' -- Source \
        | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'
      
      git grep -l '#include <cm[A-Z]' -- Source \
        | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
      1d829c86
  32. 29 Mar, 2017 1 commit
    • Betsy McPhail's avatar
      Add 'DISABLED' test property · b070947d
      Betsy McPhail authored
      When this property is set, the test is skipped and its status is
      automatically set to 'Not Run'.  A disabled test will not be counted in
      the total number of tests and its completion status will be 'Disabled'.
      b070947d