summaryrefslogtreecommitdiffstats
path: root/Source/cmCTest.h
Commit message (Collapse)AuthorAgeFilesLines
* IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-1/+1
| | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* cmCTest: Remove dead codeRegina Pfeifer2019-03-201-19/+0
|
* cmCTest: Cleanup typedefsRegina Pfeifer2019-03-201-7/+4
|
* cmCTest: Use default member initializationRegina Pfeifer2019-03-201-2/+0
|
* cmCTest: Use concrete accessor functions for TestingHandlersRegina Pfeifer2019-03-201-9/+20
|
* cmCTest: Move all data members to private implementation structRegina Pfeifer2019-03-181-109/+3
|
* cmCTest: Remove friend declarationsRegina Pfeifer2019-03-181-3/+2
|
* cmCTest: De-inline all member functionsRegina Pfeifer2019-03-181-49/+31
|
* cmSystemTools: More functions accept `std::string` paramsVitaly Stakhovsky2019-02-201-2/+3
|
* Delete some default constructors and assignment operatorsAlbert Astals Cid2019-02-151-0/+3
| | | | | | They are unused, but if someone used them they would lead to problems since they would copy the internal raw pointers and the destructor would cause double delete
* cleanup: Prefer compiler provided special member functionsRegina Pfeifer2019-01-251-2/+0
|
* clang-tidy: Use `= default`Regina Pfeifer2019-01-251-1/+1
| | | | | | Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and `Source/cmUVHandlePtr.h` where a few older compilers require a user-defined default constructor (with `{}`).
* CTest: Add function GetSubmitURLRegina Pfeifer2019-01-161-0/+2
|
* CTest: Add --show-only[=format] option to print test infoJustin Goshi2019-01-101-0/+6
| | | | | | 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.
* clang-tidy: Use default member initializationRegina Pfeifer2018-12-151-5/+2
|
* CTest: Remove special case for Dart version <= 1Regina Pfeifer2018-11-281-7/+0
|
* Mark operator bool explicitRegina Pfeifer2018-11-191-1/+1
|
* CTest: Add colored output on tests summary where supportedSylvain Joubert2018-11-091-1/+23
| | | | | | | | - 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
* ctest_submit: Add support for a "Done" partBetsy McPhail2018-10-101-0/+10
| | | | | | | | | | | 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-0/+9
|
* Update use of KWSys SystemTools::SplitString for new signatureBrad King2018-06-221-2/+2
|
* Fix misc. typosluz.paz2018-06-041-2/+2
| | | | Found via `codespell` and `grep`
* ctest_start: read model from TAG fileKyle Edwards2018-05-091-3/+4
| | | | | | | | 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.
* Fix misc typos in documentation and commentsluz.paz2018-03-071-1/+1
|
* Merge topic 'ctest_start_function_scope'Brad King2018-01-291-0/+2
|\ | | | | | | | | | | | | | | 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/+2
| | | | | | | | | | | | | | | | | | | | 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: introduce cmDurationWouter Klouwen2018-01-231-15/+11
|/ | | | | | | | 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-5/+5
| | | | | Calculate the stop time up front instead of re-parsing its string for every test.
* cmCTest: Remove unused member LastStopTimeoutBrad King2018-01-081-2/+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-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | 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-0/+2
| | | | | | | | | | | | | | | | 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: 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-11/+18
| | | | | | | | | 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.
* cmCTest: Remove dead codeBetsy McPhail2017-11-071-1/+0
| | | | The option 'ctest-config' is ignored.
* pass arguments as vector to cmCTest::RunCommand()Rolf Eike Beer2017-09-151-6/+1
| | | | | | | The only 2 callers took care to construct a properly escaped string, but not using the documented way, and that string was passed only to be immediately split into tokens again. Start with a vector and join it only for logging, avoiding needless quotes during that.
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+1
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-4/+4
|
* Display subproject timing summaryBetsy McPhail2017-07-101-0/+3
| | | | Use the '--no-subproject-summary' option to disable timing summary.
* Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variableBetsy McPhail2017-07-101-0/+3
| | | | | Use this variable to specify a list of labels that will be reported to CDash as subprojects.
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-3/+3
| | | | | | | | | | | | | 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'
* cmCTest: Move macros to bottom of fileDaniel Pfeifer2017-03-231-16/+16
| | | | | Since the class name is used in the macros, the iwyu tool gets confused wheter it needs a forward declaration or not.
* fix some include-what-you-use diagnosticsDaniel Pfeifer2017-02-171-1/+0
|
* clang-tidy: apply modernize-use-bool-literals fixesDaniel Pfeifer2016-12-121-2/+2
|
* clang-tidy: apply performance-unnecessary-value-param fixesDaniel Pfeifer2016-12-121-1/+1
|
* iwyu: Fix more findingsDaniel Pfeifer2016-11-281-0/+1
|
* Add Encoding option for RunChild, RunMakeCommand and RunProcessDāvis Mosāns2016-11-141-3/+8
|
* Do not query CDash for versionZack Galbreath2016-11-081-8/+0
| | | | | | | | | | | | | | | | | | This check was not functioning properly for the following reasons: * The "DropSite" and "DropLocation" CTest Configurations do not get set until ctest_submit() is called. So if ctest_submit() was not called before ctest_test() we would end up with uncompressed output, even if the CDash server was new enough to support this feature. * CDash's API is now versioned. The current location to query is now /api/v1/getversion.php, not /api/getversion.php. As a result of these issues, CTest would not compress test/memcheck output when it should. Rather than fix this check, we now assume that CTest is communicating with a new enough version of CDash. This behavior can be controlled through the use of the --no-compress-output command-line argument.
* Simplify CMake per-source license noticesBrad King2016-09-271-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-8/+8
|
* cmCTest: don't redefine cout and cerrDaniel Pfeifer2016-09-031-10/+0
| | | | | | | | The definitions have been introduced to ensure that cout and cerr are not used in certain files. However, this limitation does not apply to all source files that require cmCTest.h to be included. Furthermore, the definitions cause side effects depending on the include order. In total, the definitions do more harm than good. Remove them.