summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestTestHandler.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix invalid ///! doxygen comment line startsSebastian Holtermann2019-03-311-2/+2
| | | | | In various places `///!` was used to start a comment line. This is not valid Doygen syntax. This patch replaces `///!` comment starts with `//!`.
* CTest: Represent process exit codes as 64-bit signed integerZsolt Parragi2019-02-081-1/+2
| | | | | | | 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.
* TestGenerator: Record support file and line where test was addedJustin Goshi2019-01-081-0/+3
| | | | | Add internal test properties that ctest can use to report where the test was added in CMake code.
* CTest: Add colored output on tests summary where supportedSylvain Joubert2018-11-091-1/+1
| | | | | | | | - 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: Add options to control test process affinity to CPUsBrad King2018-03-051-0/+2
| | | | | | | | | | 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.
* CTest: introduce cmDurationWouter Klouwen2018-01-231-4/+5
| | | | | | | | 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.
* CTest: Remove unfinished batch test modeBrad King2017-12-081-1/+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-3/+3
| | | | | | | | | 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.
* CTest: use std::chrono::steady_clock for time keepingWouter Klouwen2017-11-141-1/+2
| | | | | | | | | | | | 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
* Fix trivial typos in textluzpaz2017-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some are user facing. Found using codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt` whereby the whitelist contained: ans dum helpfull emmited emmitted buil iff isnt nto ot pathes substract te todays upto whitespaces
* Use C++11 override instead of CM_OVERRIDEBrad King2017-09-151-3/+3
| | | | | | | | We now require C++11 support including `override`. Drop use of the old compatibility macro. Convert references as follows: git grep -l CM_OVERRIDE -- '*.h' '*.hxx' '*.cxx' | xargs sed -i 's/CM_OVERRIDE/override/g'
* Meta: modernize old-fashioned loops to range-based `for` (CTest).Pavel Solodovnikov2017-09-141-4/+6
| | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* CTest: Split out labels and subproject labels in summary outputBill Hoffman2017-09-081-2/+1
| | | | | | | | This commit splits out the reporting of labels and labels used for sub projects. If a label is a sub project label it will not be included in the label summary. To implement this the commit creates PrintLabelOrSubprojectSummary which is able to do the work of both PrintLabelSummary and PrintSubprojectSummary avoiding code duplication.
* clang-format: format all code as Cpp11Daniel Pfeifer2017-08-301-3/+3
|
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+1
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Merge topic 'better-exception-reporting'Brad King2017-07-131-1/+2
|\ | | | | | | | | | | | | 0c650f39 CTest: Report more detail about system exceptions in tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1046
| * CTest: Report more detail about system exceptions in testsBill Hoffman2017-07-121-1/+2
| | | | | | | | | | This passes the system exception string up to CDash and to the command line instead of just printing "other".
* | Display subproject timing summaryBetsy McPhail2017-07-101-0/+2
| | | | | | | | Use the '--no-subproject-summary' option to disable timing summary.
* | Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variableBetsy McPhail2017-07-101-0/+5
|/ | | | | The specified LABELS will be passed down to subdirectories as well as any targets or tests in the directory.
* Add ctest options for limiting which tests fixtures addCraig Scott2017-05-011-0/+3
| | | | | The new options allow the user to restrict the setup and cleanup tests automatically added for fixtures.
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-2/+2
| | | | | | | | | | | | | 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'
* Add 'DISABLED' test propertyBetsy McPhail2017-03-291-0/+1
| | | | | | 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'.
* Remove cmObject.h and cmTypeMacro.hDaniel Pfeifer2016-10-241-1/+0
|
* Make cmCTestGenericHandler not inherit from cmObjectDaniel Pfeifer2016-10-221-1/+1
|
* 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.
* CTest: Add support for test fixturesCraig Scott2016-09-201-0/+9
| | | | | | | | | | | Add new test properties: * FIXTURES_SETUP * FIXTURES_CLEANUP * FIXTURES_REQUIRED to specify the roles and dependencies of tests providing/using test fixtures.
* CTest: fix include-what-you-use violationsDaniel Pfeifer2016-08-251-1/+12
|
* mark functions with CM_OVERRIDEDaniel Pfeifer2016-06-271-3/+3
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-59/+55
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * 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.
* Source: Stabilize include orderBrad King2016-04-291-1/+1
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* CTest: Optionally use a secondary test timeout after matching outputZack Galbreath2016-03-221-0/+3
| | | | | | Allow a test N seconds to complete after we detect a matching line in its output. Activate this behavior with a new TIMEOUT_AFTER_MATCH test property.
* CTest: Add options to limit output of passed and failed testsRoman Wüger2015-09-181-0/+5
| | | | | | | | | | 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.
* cmCTest{Test,MemCheck}Handler: Port to cmXMLWriterDaniel Pfeifer2015-05-261-5/+6
|
* CTest: Generate NamedMeasurement elements directly into xml fileDaniel Pfeifer2015-05-261-2/+2
| | | | Re-order the logic to avoid use of a temporary std::ostringstream.
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-9/+9
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* allow to mark a test as "Not Run" with a specific return code (#8466)Rolf Eike Beer2014-01-141-0/+2
|
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-5/+5
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
* ctest: Add --rerun-failed optionZack Galbreath2013-10-081-0/+15
| | | | | | | | Add a new command line argument to ctest. This allows users to rerun tests that failed during the previous call to ctest. This is accomplished by analyzing the most recently modified file named "^LastTestsFailed*" in the Testing/Temporary subdirectory of the project's binary directory.
* CTest: create one output file per memcheck (#14303)Rolf Eike Beer2013-08-071-1/+1
| | | | | | The output file used for memory checker runs must be unique for every test run in parallel, so simply make them unique for every test run. Simply use the test index to avoid collisions.
* CTest: print failed tests in index order (#11746)David Cole2011-08-031-2/+11
| | | | | | | | This deterministic ordering makes it easier for a developer comparing the ctest output of two test runs to see what changed from run to run. Thanks to Fraser Hutchison for the patch.
* Implement ctest_upload commandZach Mullen2011-03-151-2/+0
|
* Remove trailing whitespaceBrad King2011-03-111-2/+2
|
* Test TIMEOUT property explicitly set to zero should be honoredZach Mullen2011-01-031-0/+1
|
* Added RESOURCE_LOCK test property.Zach Mullen2010-03-021-0/+1
|
* Use historical average of test times to schedule tests.Zach Mullen2010-02-261-0/+1
|
* CTest output submitted to the dashboard is now compressed by default.Zach Mullen2009-12-171-0/+1
|
* Added an option to conditionally attach files to a test submission only if ↵Zach Mullen2009-12-161-0/+1
| | | | the test does not pass. Also some preliminary changes for test output compression.
* Changed XML formatting of files attached to test so that each file is ↵Zach Mullen2009-12-151-1/+1
| | | | archived and marked up individually, in order to make things easier on the CDash side. Also switched to using the NamedMeasurement tag instead of a new tag.
* CTest-side changes to allow users to attach arbitrary files to test results ↵Zach Mullen2009-12-151-0/+5
| | | | that will be submitted to cdash using the ATTACHED_FILES test property.