summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* Rename cmProp in cmValueMarc Chevrier2021-09-2114-64/+64
|
* Use new SetOption signaturesMarc Chevrier2021-09-153-15/+15
|
* cmCTestGenericHandler::SetOption accepts cmProp or std::stringMarc Chevrier2021-09-152-2/+34
|
* cmCTestGenericHandler::GetOption returns cmPropMarc Chevrier2021-09-137-35/+30
|
* ctest_memcheck: generate `DynamicAnalysis-Test.xml` as wellBen Boeckel2021-09-092-0/+16
| | | | | | | This is useful so that memcheck results also show up as test results on CDash. It will be submitted with the other `MemCheck` parts. Fixes: #22190
* cmProp: refactoring: transform alias in classMarc Chevrier2021-08-082-6/+6
| | | | | | To handle safely the values used by CMake variables and properties, introduce the class cmProp as a replacement from the simple pointer to std::string instance.
* Merge branch 'master' into ctest-test-changing-labelsKyle Edwards2021-07-289-159/+294
|\
| * Merge topic 'ctest-environment-modifications'Brad King2021-07-135-3/+151
| |\ | | | | | | | | | | | | | | | | | | | | | de4f1f26b0 CTest: add an ENVIRONMENT_MODIFICATION property 4c757fa3c8 Help/prop_test/ENVIRONMENT: clarify the scope of the changes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6299
| | * CTest: add an ENVIRONMENT_MODIFICATION propertyBen Boeckel2021-07-095-3/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property allows projects to modify environment variables at test time rather than trying to guess what the state should be based on what is present at configure time. Of particular interest is the ability to use a `PATH` present at test time while adding entries known to be necessary for the test itself. There are multiple operations provided to modify variables, including: - setting and unsetting - appending and prepending as: - strings - path lists - CMake lists Additionally, a `reset` action is provided to cancel any prior modifications to that particular variable in the case of incremental additions to the test property.
| * | cmState: Construct with modeBrad King2021-07-121-1/+1
| |/
| * ctest: support <CTestMeasurement> for runtime measurementsZack Galbreath2021-07-018-156/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach CTest to parse output for <CTestMeasurement> in addition to <DartMeasurement> for measurements defined at runtime. Use a new class (cmCTestTestMeasurementXMLParser) derived from cmXMLParser to parse the data and attributes these XML elements. This is an improvement over our previous approach of using a series of regular expressions. As part of this commit we also rename some member variables and methods to make their purpose more clear. DartStuff -> AllTestMeasurementsRegex DartStuff1 -> SingleTestMeasurementRegex DartString -> TestMeasurementsOutput GenerateDartOutput() -> GenerateCTestXML() GenerateRegressionImages() -> RecordCustomTestMeasurements() cmCTestRunTest::DartProcessing() -> ParseOutputForMeasurements()
| * ctest: allow test output to add labelsZack Galbreath2021-06-173-0/+20
| | | | | | | | | | Parse test output for <CTestLabel>...</CTestLabel>. If found, add this value to the list of labels associated with this test.
* | CTest: Reset multi-options to persistent multi-optionsKyle Edwards2021-07-281-4/+2
|/ | | | | | | | 44ad3f0b added multi-options to CTest, but didn't reset them, causing ctest_test() to fail if it was run multiple times with different label arguments. Reset the multi-options. Fixes: #22485
* ctest: allow test output to override the 'details' fieldZack Galbreath2021-06-093-1/+27
| | | | | | Parse test output for <CTestDetails>...</CTestDetails>. If found, use this value to override the default 'Details' string reported to CDash.
* ctest: add support for attaching files to tests at run timeZack Galbreath2021-06-082-39/+69
| | | | | | | | | | | | | | Allow tests to specify files to upload at runtime. Previously this was only possible to specify at configure time with the ATTACHED_FILES test properties. This commit also fixes a bug in how our test data tarballs were generated by CTest. Previously, if you tried to attach a file outside of the binary directory, CTest would generate a tar file with a relative path, and tar would not allow you to extract it. We resolve this problem by creating tar files with a flat directory structure instead. Fixes: #22284
* CTest: Exit coverage handling early if no binary dirJoseph Snyder2021-06-021-0/+7
| | | | | | | | Check for the existence of the Binary directory string before checking for coverage files. If the directory is not specified, write an error message and do not do any checking. Fixes: #22102
* cmMessenger: Pass title inside a metadata structureMarius Messerschmidt2021-05-191-1/+3
|
* Source: Minor code improvementsVitaly Stakhovsky2021-05-111-3/+2
|
* cmCTestGenericHandler: Remove unused Command memberCraig Scott2021-05-082-5/+0
| | | | This was causing a cppcheck warning about an uninitialized member in the constructor. Since nothing was using it, remove it.
* ctest_build: Add the PARALLEL_LEVEL argumentfriendlyanon2021-05-042-1/+3
| | | | Fixes: #19712
* cmGlobalGenerator: Add parallel parameter to GenerateCMakeBuildCommandfriendlyanon2021-05-011-2/+2
|
* ctest: Add support for writing test results in JUnit XML formatZack Galbreath2021-04-266-6/+153
| | | | Addresses #18654
* Update CMake code using KWSys to account for Status return valuesBrad King2021-04-142-2/+2
| | | | | | KWSys as of 2021-04-14 changed the return type of `SystemTools` operations from `bool` to `Status`. Update our call sites. This may improve error reporting accuracy in a few places.
* ctest: Display test "WAITING" messages only in extra-verbose modeBrad King2021-04-061-5/+5
| | | | | These messages are incidental scheduling output. Avoid cluttering the normal verbose output showing tests starting and finishing.
* ctest: Support multiple -L and -LE options to mean "AND"Adriaan de Groot2021-03-285-66/+135
| | | | Fixes: #21087
* Source: Reduce c_str() usagevvs314152021-03-135-27/+24
|
* Merge topic 'ctest-dashboard-with-modified-files'Brad King2021-02-101-1/+1
|\ | | | | | | | | | | | | 33fa015b4a CTest: Restore running dashboard client Test step with modified files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5791
| * CTest: Restore running dashboard client Test step with modified filesBrad King2021-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 6a6f1d1edd (CTest: exit nonzero after message(SEND_ERROR|FATAL_ERROR), 2020-04-03, v3.19.0-rc1~260^2), `ctest` no longer runs tests if there are errors before the full set of tests is defined. Such errors were previously treated more like warnings. The change exposed some cases where we were issuing an error message but proceeding to run tests anyway. The above commit downgraded one such case (missing `DartConfiguration.tcl`) to a warning explicitly in order to restore its former warning-like semantics. Downgrade the Update step's diagnostic about modified or conflicting files to a warning for the same reason. Fixes: #21783
* | clang-tidy: fix `readability-qualified-auto` warningsBen Boeckel2021-01-273-12/+12
| |
* | clang-tidy: fix `readability-make-member-function-const` warningsBen Boeckel2021-01-279-11/+11
| |
* | clang-tidy: fix `performance-no-automatic-move` warningsBen Boeckel2021-01-271-1/+1
| |
* | CTest: Save sanitizer output files after test executionPawel Dac2021-01-131-3/+9
| | | | | | | | | | | | | | Prior to this change after tests were executed output files produced by sanitizers were removed. User couldn't check in detail why test case didn't pass. Output files are kept without pid in the end.
* | Merge topic 'ctest-progress-output-fixes'Brad King2021-01-071-3/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 39cdc8afb9 ctest: Make verbose mode override progress behavior 1bcd9b06b9 ctest: Don't treat skipped test as failed tests in progess report Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5663
| * | ctest: Don't treat skipped test as failed tests in progess reportSylvain Joubert2021-01-051-3/+4
| | | | | | | | | | | | | | | Skipped tests should not stand out on their own lines Fixes #21143
* | | Code style: add missed explicit 'this->'Oleksandr Koval2021-01-0513-75/+75
|/ / | | | | | | | | CMake uses explicit 'this->' style. Using custom clang-tidy check we can detect and fix places where 'this->' was missed.
* | cmCTestBuildCommand: code improvementVitaly Stakhovsky2020-11-291-25/+18
| |
* | Merge topic 'rename_cuda_memcheck'Brad King2020-11-182-16/+16
|\ \ | |/ | | | | | | | | | | fea49b2df0 CTest: Rename CudaMemcheck to CudaSanitizer Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5514
| * CTest: Rename CudaMemcheck to CudaSanitizerTobias Ribizel2020-11-172-16/+16
| |
* | Reduce the scope of temporary cmProp variables and other improvementsVitaly Stakhovsky2020-11-051-2/+1
| |
* | include: refactor call sites of cmMakefile::ReadDependentFileAsit Dhal2020-10-211-1/+1
|/ | | | Fixes: #16773
* cmCTestBuildHandler: Avoid uninitialized line-numbersAdriaan de Groot2020-10-051-0/+2
| | | | | | | When commands fail, there is no line number to report; still initialize it explicitly to avoid compiler warnings. Issue: #21166
* CTest: add compute-sanitizer alias for cuda-memcheckTobias Ribizel2020-10-011-1/+2
|
* ctest: improve Unicode support for launchersZack Galbreath2020-09-281-4/+2
| | | | Fix launcher behavior for international characters in the path on Windows.
* ctest: report make-level errors to CDash when using launchersZack Galbreath2020-09-283-9/+27
| | | | Fixes: #19545
* ctest: split launcher XML writer into separate classZack Galbreath2020-09-284-367/+448
| | | | | This refactor will allow us to more easily add additional warnings and errors to builds that use launchers.
* Refactor: Use JSON helpers in CTest resource specKyle Edwards2020-09-092-91/+132
|
* Modernize: Use #pragma once in all header filesKitware Robot2020-09-0351-202/+51
| | | | | | | | | | | | | | | | #pragma once is a widely supported compiler pragma, even though it is not part of the C++ standard. Many of the issues keeping #pragma once from being standardized (distributed filesystems, build farms, hard links, etc.) do not apply to CMake - it is easy to build CMake on a single machine. CMake also does not install any header files which can be consumed by other projects (though cmCPluginAPI.h has been deliberately omitted from this conversion in case anyone is still using it.) Finally, #pragma once has been required to build CMake since at least August 2017 (7f29bbe6 enabled server mode unconditionally, which had been using #pragma once since September 2016 (b13d3e0d)). The fact that we now require C++11 filters out old compilers, and it is unlikely that there is a compiler which supports C++11 but does not support #pragma once.
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-0210-80/+90
|
* CTest: exit nonzero after message(SEND_ERROR|FATAL_ERROR)Kevin Puetz2020-08-262-10/+18
| | | | Fixes: #21004
* CTest: Add error types to cuda-memcheck parserTobias Ribizel2020-08-051-1/+2
|