summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'ctest-timeout-flag'Brad King2023-10-021-5/+6
|\ | | | | | | | | | | | | | | | | d267c128a2 ctest: Restore support for --timeout values higher than default test timeout dd779a4bc2 Tests: Clarify RunCMake.CTestTimeout case name Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8851
| * ctest: Restore support for --timeout values higher than default test timeoutBrad King2023-09-291-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Since refactoring in commit 0a5aeaf302 (cmCTestRunTest: Consolidate test timeout selection logic, 2023-05-04, v3.27.0-rc1~120^2) we accidentally truncate `--timeout` values to ctest's default `TimeOut`. Fix the logic to prefer the flag whenever the `TIMEOUT` property is not set. In combination with the prior refactoring, this also fixes a bug that caused `--timeout` values of 10000000 seconds or more to be ignored. Fixes: #23979
* | Source: Remove redundant FileIsDirectory checksscivision2023-09-191-4/+2
| |
* | Merge topic 'ctest_submit_follow_redirects'Brad King2023-09-081-0/+3
|\ \ | |/ | | | | | | | | | | | | 26ce8dc290 ctest: Restore support for http redirects during Submit step Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8782
| * ctest: Restore support for http redirects during Submit stepZack Galbreath2023-09-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After CDash PR 1519 introduced HTTP status codes greater than 200 for various error cases, CMake commit b7c871f745 (ctest: Update ctest_submit for CDash behavior change, 2023-07-24, v3.27.1~3^2) modified CTest's submit handler to check the status returned by CDash and throw an error when this status is not equal to 200. That change had the unintended side effect of causing CTest submissions to fail when uploading results to a URL that returns a redirect status code (3xx). Fix this by configuring cURL to follow the redirect. The status cURL reports to CTest is now 200 instead of 3xx when CDash is located behind a redirect. Fixes: #25159
| * Merge topic 'cdash_checksum_400' into release-3.27Brad King2023-07-251-9/+12
| |\ | | | | | | | | | | | | | | | | | | | | | b7c871f745 ctest: Update ctest_submit for CDash behavior change Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8648
* | | cmCTestCoverageHandler: Replace cmsysProcess with cmUVProcessChainKyle Edwards2023-08-291-93/+18
| | |
* | | cmCTestLaunchReporter: Replace cmsysProcess with cmUVProcessChainKyle Edwards2023-08-296-226/+256
| | | | | | | | | | | | And convert cmCTestLaunch and cmCTestBuildHandler too.
* | | cmCTest: Replace cmsysProcess with cmUVProcessChainKyle Edwards2023-08-292-10/+7
| | |
* | | cmCTestScriptHandler: Replace cmsysProcess with cmUVProcessChainKyle Edwards2023-08-291-41/+43
| | | | | | | | | | | | And update cmSystemTools::WaitForLine() to use cmUVProcessChain.
* | | cmProcessTools::RunProcess(): Replace cmsysProcess with cmUVProcessChainKyle Edwards2023-08-2910-209/+165
| | | | | | | | | | | | And convert the VCS code to std::vector<std::string>.
* | | Merge topic 'ctest-generate-resource-spec-file'Kyle Edwards2023-08-146-42/+147
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c8c1dd0d95 CTest: Add ability to dynamically generate resource spec file 3f5a5a5856 cmCTestRunTest::StartFailure(): Add total argument Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8699
| * | | CTest: Add ability to dynamically generate resource spec fileKyle Edwards2023-08-105-33/+136
| | | | | | | | | | | | | | | | Issue: #25106
| * | | cmCTestRunTest::StartFailure(): Add total argumentKyle Edwards2023-08-103-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This function was being called when TotalNumberOfTests hadn't been initialized, resulting in undefined output. It's not clear why this was never apparent until now. Accept a total argument to ensure it's initialized.
* | | | cmCryptoHash: prefer to cmSystemTools::ComputeFileHashBen Boeckel2023-08-081-4/+4
|/ / /
* | | IWYU: Update for Debian 12 CI jobBrad King2023-07-2815-8/+9
| | | | | | | | | | | | | | | | | | `include-what-you-use` diagnostics, in practice, are specific to the environment's compiler and standard library. Update includes to satisfy IWYU for our CI job under Debian 12.
* | | Merge topic 'ExportTestLabelToJUnit'Brad King2023-07-281-0/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2b99e64413 set_test_properties: link to the test properties in the documentation b11e8afbfa ctest: export test labels to junit xml Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8635
| * | | ctest: export test labels to junit xmlAlex Neundorf2023-07-261-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch, the junit files written by ctest also contain the test labels as testcase properties, see https://github.com/testmoapp/junitxml#properties The name for the property is "cmake_labels", where "cmake_" is used namespace-like. This could be done the same way if we export more properties to junit. Also this makes it clear to consumers that this is coming from cmake, and the list is a cmake-formatted string.
* | | | Merge topic 'cdash_checksum_400'Brad King2023-07-251-9/+12
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | | | | b7c871f745 ctest: Update ctest_submit for CDash behavior change Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8648
| * | ctest: Update ctest_submit for CDash behavior changeZack Galbreath2023-07-251-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | open.cdash.org was recently upgraded in preparation for the release of CDash v3.2.0. This upgrade brought a change in behavior where CDash now responds with HTTP 400 (bad request) rather than HTTP 200 (OK) for MD5 checksum mismatches during submission time. This commit removes our usage of CURLOPT_FAILONERROR in cmCTestSubmitHandler.cxx This was necessary to pass along the contents of the request body ("md5 mismatch") in cases where the web server (CDash) responds with an error status (400). Fixes: #25121
* | | CTest: Fix regression in calculating test timeoutKyle Edwards2023-07-241-3/+5
| |/ |/| | | | | Fixes: #25120
* | ctest: Optionally terminate tests with a custom signal on timeoutBrad King2023-06-025-0/+122
| | | | | | | | | | | | | | | | CTest normally terminates test processes on timeout using `SIGKILL`. Offer tests a chance to exit gracefully, on platforms supporting POSIX signals, by setting `TIMEOUT_SIGNAL_{NAME,GRACE_PERIOD}` properties. Fixes: #17288
* | CTest/cmProcess: Adopt field tracking reason for the process timeoutBrad King2023-05-314-13/+32
| | | | | | | | | | | | A test process may timeout either because the test timeout was reached, or the overall stop time was reached. Shorten the lifetime for which we track this state in `cmCTestRunTest`.
* | cmCTestTestHandler: Remove outdated commentBrad King2023-05-311-4/+0
| | | | | | | | | | | | Remove a comment that has not been relevant since commit 177edc5ed1 (Fixed ctest -N segfault issue. Further refactored ctest. Enabled failover for ctest, 2009-08-27, v2.8.0~250).
* | cmGlobalGenerator: use a stream for output in `Build`Ben Boeckel2023-05-271-3/+1
| | | | | | | | | | This allows output to show up in output immediately instead of being batched.
* | cmCTestRunTest: Consolidate test timeout selection logicBrad King2023-05-045-59/+71
| | | | | | | | | | Test timeout selection was previously spread out over several locations. Consolidate it in a single place to make it easier to follow.
* | cmCTestRunTest: Adopt decision for starting cmProcess timerBrad King2023-05-043-9/+11
| |
* | cmCTestRunTest: Remove unnecessary arguments to ForkProcessBrad King2023-05-042-19/+10
| |
* | ctest: Fix TIMEOUT test property with value 0 with --timeout flagBrad King2023-05-041-1/+1
| | | | | | | | | | An explicit zero TIMEOUT test property value should not be overridden by the `--timeout` flag.
* | cmCTestTestHandler: Use in-class initialization of properties and resultsBrad King2023-05-043-33/+17
| |
* | CMake code rely on cmList class for CMake lists management (part. 2)Marc Chevrier2023-04-293-6/+6
| |
* | CMake code rely on cmList class for CMake lists management (part. 1)Marc Chevrier2023-04-246-22/+26
| |
* | presets: Improve JSON parser and error messagesMartin Duffy2023-03-293-125/+88
| |
* | Source: use C++11 nullptrscivision2023-02-141-1/+1
| |
* | CTest: Remove usages of CMAKE_INTDIRKyle Edwards2023-02-072-14/+0
| | | | | | | | | | The configuration in which CMake/CTest itself is built should not influence runtime path selection.
* | CTest: add test failure reason to JUnit XML outputFrank Winklmeier2023-02-021-1/+1
|/ | | | | | | | In case of test failure, add the test failure reason (e.g. "Timeout") to the failure message in the XML file. This is the same value that is shown in the ctest text output. Fixes: #24184
* ctest: Drop unnecessary use of deprecated CURLOPT_PUTBrad King2023-01-272-4/+0
| | | | | All usage sites are already preceded by use of its replacement, CURLOPT_UPLOAD.
* CYGWIN: Drop pre-2.8.4 compatibility mode CMAKE_LEGACY_CYGWIN_WIN32Brad King2023-01-191-4/+0
| | | | | | | | | | Prior to CMake 2.8.4 (released in 2011), we defined `WIN32` on CYGWIN. That was removed, but an undocumented `CMAKE_LEGACY_CYGWIN_WIN32` compatibility mode was left to help projects transition. Only projects that do not require at least 2.8.4 as their minimum CMake version need the compatibility mode. We've also long warned about projects that do not require at least 2.8.12, so it is now reasonable to remove the legacy compatibility mode.
* Revise C++ coding style using clang-format-15Kitware Robot2023-01-181-8/+8
| | | | | | | | | | | | | | 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 15. * 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. Fixes: #24315
* cmValue: Use operator* explicitly to convert to std::string; avoid extra callVitaly Stakhovsky2023-01-163-12/+13
|
* Merge topic 'ctest-error-newlines'Brad King2023-01-124-8/+8
|\ | | | | | | | | | | | | | | 5e7a4ad1a1 ctest: Add missing newlines on several error messages Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8047
| * ctest: Add missing newlines on several error messagesChristian Häggström2023-01-114-8/+8
| | | | | | | | | | | | | | | | Without this: user@host:~$ ctest --build-and-test foo --build-and-test must have source and binary dir Problem parsing command line arguments within a handleruser@host:~$
* | CTest: Use std::string argumentsVitaly Stakhovsky2023-01-032-18/+6
|/
* Make vector operations more efficientRose2022-12-101-0/+1
|
* ctest_config: pass -S, -B args for log clarityMichael Hirsch2022-11-041-1/+6
| | | | Fixes: #24135
* ctest_memcheck: ignore false-positives in CUDA's compute-sanitizerTobias Ribizel2022-10-071-4/+17
| | | | | | | Add a list of false-positive messages from CUDA's compute-sanitizer to the CTest memcheck. Fixes: #24001
* Merge topic 'ctest_ninja_full_output'Brad King2022-09-271-10/+25
|\ | | | | | | | | | | | | | | 65260d6c1e ctest: only report make-level errors when no others are found Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7710
| * ctest: only report make-level errors when no others are foundZack Galbreath2022-09-261-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | In commit ab9ad2a6a0 (ctest: report make-level errors to CDash when using launchers, 2020-09-24, v3.19.0-rc1~84^2~1) we taught CTest to capture and report errors from the build command when using launchers. This had the unintended side effect of reporting a separate build error containing the full build output when the build command returns non-zero. To fix this problem, we now only report build command errors from CTest launchers when no other more specific build errors are found. Fixes: #23991
* | Merge topic 'truncation_invalid'Brad King2022-09-091-1/+5
|\ \ | |/ | | | | | | | | | | | | | | bd30d20bc3 Tests: Add cases covering bad ctest output truncation types dbf840392d ctest: print error for invalid CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7596
| * ctest: print error for invalid CTEST_CUSTOM_TEST_OUTPUT_TRUNCATIONFrank Winklmeier2022-09-071-1/+5
| | | | | | | | | | | | | | | | | | Print an error message for invalid values of `CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` in a ctest dashboard script. The option was added by commit 140704d443 (ctest: add option for output truncation, 2022-03-07, v3.24.0-rc1~513^2). Fixes: #23869