summaryrefslogtreecommitdiffstats
path: root/Source/cmCTest.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmSystemTools::Error(): new overload accepting std::stringVitaly Stakhovsky2019-01-231-1/+1
|
* Merge topic 'stdout-string'Brad King2019-01-221-2/+2
|\ | | | | | | | | | | | | 3132ea801c cmSystemTools: Stdout(),Stderr() accept std::string argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2829
| * cmSystemTools: Stdout(),Stderr() accept std::string argumentVitaly Stakhovsky2019-01-201-2/+2
| |
* | Merge topic 'read-list-file'Brad King2019-01-211-9/+6
|\ \ | | | | | | | | | | | | | | | | | | 25caf7bafe cmMakefile::ReadListFile() accepts std::string argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2821
| * | cmMakefile::ReadListFile() accepts std::string argumentVitaly Stakhovsky2019-01-171-9/+6
| |/ | | | | | | Same for cmMakefile::ReadDependentFile(); some cleanup
* | Merge topic 'use-emplace'Brad King2019-01-211-3/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | ef61997b1b clang-tidy: Use emplace 2e5307a2a4 CTestSVN: Accept std::string in SVNInfo constructor Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2811
| * | clang-tidy: Use emplaceRegina Pfeifer2019-01-171-3/+3
| |/
* | Merge topic 'ctest-json-polish'Brad King2019-01-211-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cae9d2a61a CTest: Teach --show-only= to reject unknown values 7370b02c36 CTest: Teach --show-only=json-v1 to filter out not-available tests 62fec84ad7 Tests: Fix RunCMake.CTestCommandLine case when no python is found 75a7a23746 Tests: Rename RunCMake.CTestCommandLine show-only test cases fecbc87608 Tests: Fix RunCMake.CTestCommandLine to actually check json-v1 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2812
| * | CTest: Teach --show-only= to reject unknown valuesBrad King2019-01-171-0/+3
| | |
* | | Merge topic 'submit-url'Brad King2019-01-211-0/+26
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2915a75615 CTest: Add documentation and release notes for SubmitURL d6475daa79 Modules/CTest: Set SubmitURL 938f06fda6 ctest_submit: Add parameter SUBMIT_URL 65e725c957 CTest: Add option SubmitURL 65f1fc9d63 CTest: Add function GetSubmitURL 2bedd5fb7c ctest_submit: Remove submit method from log output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2719
| * | CTest: Add option SubmitURLRegina Pfeifer2019-01-161-2/+2
| | | | | | | | | | | | Fixes: #18610
| * | CTest: Add function GetSubmitURLRegina Pfeifer2019-01-161-0/+26
| |/
* | Properties: Add CMAKE_ROLE global propertyKyle Edwards2019-01-171-1/+1
|/ | | | | This property allows scripts to determine whether they're in project mode, script mode, find-package mode, CTest, or CPack.
* Fix most clang -Wextra-semi-stmt warnings in C++ filesSean McBride2019-01-151-3/+5
| | | | Suppress one in code generated by flex.
* CTest: Add --show-only[=format] option to print test infoJustin Goshi2019-01-101-0/+26
| | | | | | format can be 'human' to print the current text format or 'json-v1' to print the test object model in json format and is useful for IDEs who want to gather information about the tests. Defaults to 'human' format.
* CTest: Remove special case for Dart version <= 1Regina Pfeifer2018-11-281-16/+0
|
* Merge topic 'readability-static-accessed-through-instance'Brad King2018-11-281-1/+1
|\ | | | | | | | | | | | | 3e60580784 clang-tidy: Fix readability-static-accessed-through-instance Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2647
| * clang-tidy: Fix readability-static-accessed-through-instanceRegina Pfeifer2018-11-211-1/+1
| | | | | | | | Enable the check in .clang-tidy and fix all warnings.
* | Remove warning when no CTestConfig.cmake file existsRegina Pfeifer2018-11-201-10/+0
|/ | | | | | Some CTestConfig.cmake files used to set CTEST_PROJECT_NAME only. Since this variable is no longer used, it is more likely that the whole file is no longer provided by projects.
* CTest: Add colored output on tests summary where supportedSylvain Joubert2018-11-091-5/+38
| | | | | | | | - Number of passed/failed tests is colored according to the whole outcome - Individual listed tested are colored according to their completion status: * Disabled: blue * Failed: red * Not Run: yellow
* Using front() and back() instead of calculationsCengizhan Pasaoglu2018-11-061-2/+2
|
* ctest_submit: Add support for a "Done" partBetsy McPhail2018-10-101-0/+21
| | | | | | | | | | | Teach CTest to submit Done.xml. Submission of this file indicates to CDash that a build is complete and no more files will be uploaded. It contains the build id returned by CDash and the current time. This file is submitted last for a given build when using the `ctest_submit()` command. If submitting by PARTS, use `ctest_submit(PARTS Done)`.
* ctest: Add option for live progress summary in terminalMichael Wegner2018-09-261-3/+77
|
* Merge topic 'fix-ctest_start-track'Brad King2018-09-111-2/+4
|\ | | | | | | | | | | | | 09f0325eaf CTest: Fix regression in ctest_start() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2366
| * CTest: Fix regression in ctest_start()Kyle Edwards2018-09-101-2/+4
| | | | | | | | | | | | | | | | The format for the TAG file was changed in 3.12, and the way it was read caused a regression which changed how the track was decided. This commit fixes the regression. Fixes #18347.
* | Remove unnecessary c_str() callsVitaly Stakhovsky2018-09-051-5/+4
| | | | | | | | Use the new IsOn(),IsOff() overloads.
* | cmGeneratedFileStream: clang-tidy applied to remove redundant ``c_str`` callsSebastian Holtermann2018-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After changing the ``cmGeneratedFileStream`` methods to accept ``std::string const&`` instead of ``const char*`` we don't need to call ``std::string::c_str`` anymore when passing a ``std::string`` to a ``cmGeneratedFileStream`` method. This patch removes all redundant ``std::string::c_str`` calls when passing a string to a ``cmGeneratedFileStream`` method. It was generated by building CMake with clang-tidy enabled using the following options: -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-4.0;-checks=-*,readability-redundant-string-cstr;-fix;-fix-errors
* | Update use of KWSys SystemTools::SplitString for new signatureBrad King2018-06-221-3/+2
|/
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-104/+139
| | | | | | | | | | | | 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.
* ctest_start: read model from TAG fileKyle Edwards2018-05-091-5/+55
| | | | | | | | This change reworks ctest_start() so that simply calling ctest_start(APPEND) will read all the information from the TAG file. On top of that, it relaxes the argument parsing for ctest_start() to allow greater flexibility in the argument ordering, and the documentation for ctest_start() has been cleaned up.
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-20/+18
| | | | | | | | | | * 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.
* Merge topic 'ctest_start_function_scope'Brad King2018-01-291-0/+8
|\ | | | | | | | | | | | | | | 13347740 Help: add release notes, documentation for CTEST_RUN_CURRENT_SCRIPT behavior 74092d92 cmCTestScriptHandler: Add new field ShouldRunCurrentScript Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1703
| * cmCTestScriptHandler: Add new field ShouldRunCurrentScriptKyle Edwards2018-01-261-0/+8
| | | | | | | | | | | | | | | | | | | | This is to avoid scope issues with CTEST_RUN_CURRENT_SCRIPT. If ctest_start() is called within a function scope, the value of CTEST_RUN_CURRENT_SCRIPT that it sets doesn't make it to the global scope. With this change, ctest_start() no longer sets CTEST_RUN_CURRENT_SCRIPT, and instead sets a field directly in cmCTestScriptHandler. The old behavior of CTEST_RUN_CURRENT_SCRIPT has also been kept for projects and tests that rely on setting it.
* | CTest: add safe conversion from cmDuration to integer typesWouter Klouwen2018-01-231-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | CTest: introduce cmDurationWouter Klouwen2018-01-231-18/+14
|/ | | | | | | | 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.
* cmCTest: Refactor stop time calculationsBrad King2018-01-081-37/+34
| | | | | Calculate the stop time up front instead of re-parsing its string for every test.
* cmCTest: Remove unused member LastStopTimeoutBrad King2018-01-081-1/+0
| | | | | | | This member was added by commit v2.8.2~285 (Better detection of stop_time being passed, 2010-03-19), but its logic has no effect. The member is only used for comparison against a value to which it was just assigned.
* Merge topic 'fix-ctest-chrono'Brad King2017-12-121-15/+15
|\ | | | | | | | | | | | | | | | | | | | | | | ba6caafa CTest: Use integer-representable value for "infinite" timeout 548e8f6f CTest: Simplify std::chrono::duration<double> conversion to double de0035fd cmCTestBuildAndTestHandler: Convert timeout to std::chrono::duration 687a26b7 CTest: Fix regression in build-and-test timeout forwarding e770b1b8 CTest: Fix regression in build-and-test timeout compuatation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: dublet <github@dublet.org> Merge-request: !1574
| * CTest: Use integer-representable value for "infinite" timeoutBrad King2017-12-111-10/+9
| | | | | | | | | | | | | | | | Refactoring in commit 66419bc046 (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.
| * CTest: Simplify std::chrono::duration<double> conversion to doubleBrad King2017-12-081-4/+3
| | | | | | | | | | | | | | | | | | 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.
| * CTest: Fix regression in build-and-test timeout forwardingBrad King2017-12-081-0/+1
| | | | | | | | | | | | | | | | Refactoring in commit 66419bc046 (CTest: convert timeouts to std::chrono::duration, 2017-11-20) changed out "infinite" timeout to a value not representable by a 64-bit integer. Update the `--build-and-test` forwarding of `--test-timeout` to not forward an "infinite" timeout.
| * CTest: Fix regression in build-and-test timeout compuatationBrad King2017-12-081-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 66419bc046 (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.
* | CTest: Remove unfinished batch test modeBrad King2017-12-081-4/+0
|/ | | | | This was partially implemented by commit v2.8.0~154 (Added some ctest batch capabilities, 2009-09-10) but never finished.
* CTest: convert timeouts to std::chrono::durationWouter Klouwen2017-12-041-25/+51
| | | | | | | | | 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.
* CTest: adopt std::chrono::system_clockWouter Klouwen2017-11-171-2/+2
| | | | | | | | | | | | | | | | | | After the refactor to make CTest use std::chrono::steady_clock for the keeping of time for test duration, there are still references to cmSystemTools::GetTime() left. To further adopt std::chrono for time related activities, this commit changes those remaining references to std::chrono::system_clock::now() calls and alters the storage from either unsigned int or double to std::chrono::system_clock::time_point. For ease of conversion, a converter method is added to cmXMLWriter that converts from a std::chrono::system_clock::time_point to the number of seconds since the UN*X epoch as that is expected behaviour. This means no more casts as required. Functionally should be no difference as the system_clock is implemented in the same terms.
* cmCTest: Remove dead codeBetsy McPhail2017-11-071-7/+3
| | | | The option 'ctest-config' is ignored.
* CTest: fix Time formatting in Notes.xmlZack Galbreath2017-10-311-1/+2
| | | | | | | | | | Notes.xml was reporting its timestamp in E-notation. Here's an example of what this looked like: <Time>1.50938e+09</Time> This format is unsuitable for precisely determining when the Notes file was generated. As a result of this commit, the same field now appears as: <Time>1509383044</Time>
* Improve several occurrences of vector::push_back in loopsMatthias Maennich2017-09-281-0/+2
| | | | | | | Fix issues diagnosed by clang-tidy by pre-allocating the vector capacity before the loop [performance-inefficient-vector-operation]. Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Retire std::auto_ptr and its macro CM_AUTO_PTRMatthias Maennich2017-09-251-8/+7
| | | | Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Replace empty-string comparisons with checking against `empty()`.Pavel Solodovnikov2017-09-211-3/+3
|