summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* codespell: Fix typosBrad King2024-10-252-2/+2
|
* CTest: Avoid infinite recursion with -SP optionDaniel Pfeifer2024-10-021-10/+11
| | | | This was broken since 49a37d5a97ccd6e59b9e205a96b9dec251708f76.
* ctest: Require minimum TLS 1.2 by defaultBrad King2024-09-261-0/+4
| | | | Issue: #25701
* ctest: Verify TLS server certificate by defaultBrad King2024-09-241-0/+7
| | | | Issue: #23608
* cmCTestCurl: Clarify names and logic using optional<bool>Brad King2024-09-242-4/+4
|
* Source: Avoid comparing pointers to nullptrVitaly Stakhovsky2024-08-272-4/+4
|
* Merge topic 'curl-http2'Brad King2024-08-152-2/+2
|\ | | | | | | | | | | | | | | 7486f468fb curl: Avoid using HTTP/2 with curl 8.7.x due to bug in error codes Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9728
| * curl: Avoid using HTTP/2 with curl 8.7.x due to bug in error codesBrad King2024-08-132-2/+2
| | | | | | | | | | | | | | | | | | curl 8.7.x has a bug in HTTP/2 error codes introduced by commit `0dc036225` (HTTP/2: write response directly, 2024-01-31, `curl-8_7_0~230`) and fixed by commit `5c59f9142` (http2 + ngtcp2: pass CURLcode errors from callbacks, 2024-04-18, `curl-8_8_0~181`). Fixes: #26200
* | CTest: remove cmCTestLogWrite helperDaniel Pfeifer2024-08-012-8/+10
| |
* | Merge topic 'ctest-failure-summary-labels'Brad King2024-07-191-3/+13
|\ \ | |/ |/| | | | | | | | | | | 49e9f817de ctest: Display test labels in failure summary Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9652
| * ctest: Display test labels in failure summaryWim Colgate2024-07-171-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | In a complex test environment, there may be a desire to add a test property label to indicate context. Here is one such example: set_property(TEST mygoofytest PROPERTY LABELS might-fail-on-config-change) Upon looking at the failed test summary, one can quickly decide whether the failure might be expected or not. 198 - mygoofytest (Failed) might-fail-on-config-change
| * Merge topic 'ctest-jobserver-fifo-hang'Brad King2024-06-061-0/+4
| |\ | | | | | | | | | | | | | | | | | | | | | ff077af032 ctest: Set close-on-exec for jobserver FIFO Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9580
* | | macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backendBrad King2024-07-172-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d3cbee99e3 (macOS: Prefer building with system-provided curl, 2024-05-09, v3.30.0-rc1~130^2~1) CMake uses the macOS-provided curl, which uses the LibreSSL backend by default. This exposes us to curl issue 12525, created and fixed by the following upstream curl commits: * commit `bec0c5bbf` (openssl: switch to modern init for LibreSSL 2.7.0+, 2023-08-07, `curl-8_3_0~201`) * commit `9f2d2290d` (openssl: re-match LibreSSL deinit with init, 2023-12-15, `curl-8_6_0~219`) Work around the bug by preferring the secure-transport backend by default on the problematic versions of curl.
* | | Merge topic 'ctest-jobserver-fifo-hang' into release-3.30Brad King2024-06-061-0/+4
|\ \ \ | |/ / |/| / | |/ | | | | | | | | ff077af032 ctest: Set close-on-exec for jobserver FIFO Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9580
| * ctest: Set close-on-exec for jobserver FIFOJoan Bruguera Micó2024-06-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | Set the close-on-exec flag to prevent the jobserver FIFO file descriptor from leaking to subprocesses spawned by `ctest`. This leak is usually harmless, but can cause `make test -jN` to hang at the end of the build if a test leaves a background process running with the jobserver FIFO file descriptor open. Fixes: #26027
* | Merge topic 'ctest-invalid-arg'Brad King2024-04-055-47/+39
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 304396d13c ctest: Show error on invalid ctest arguments 06cb978c1b Tests: Fix ctest flag typo in RunCMake.GoogleTest Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9383
| * | ctest: Show error on invalid ctest argumentsJake D'Esposito2024-04-045-47/+39
| | | | | | | | | | | | Fixes: #24227
* | | Merge topic 'ctest-resource-lock'Brad King2024-04-022-4/+12
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | 85745cce7a ctest: Restore enforcement of RESOURCE_LOCK test property Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9394
| * | ctest: Restore enforcement of RESOURCE_LOCK test propertyBrad King2024-04-012-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 5ff0b4ed57 (cmCTestMultiProcessHandler: Consolidate test readiness checks, 2023-10-20, v3.29.0-rc1~378^2~4) accidentally broke `RESOURCE_LOCK`. Fix it and replace the previous test with one that would have caught this. Fixes: #25843
| * | Merge topic 'ctest-j-default' into release-3.29Brad King2024-03-115-50/+109
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5de1e21659 ctest: Allow passing -j without value to choose a contextual default bbcbcff7d9 cmCTestMultiProcessHandler: Modernize member initialization 7457b474a1 Tests: Remove unnecessary parallel suppression from CTestCoverageCollectGCOV ae69801d96 Tests: Convert CTestTestSkipReturnCode to RunCMake.ctest_test case 30dda49416 Tests: Convert CTestTestSerialOrder to RunCMake.ctest_test case Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9315
* | | | ctest: Fall back to CMake environment variable for TLS server verificationBrad King2024-03-301-0/+9
| |_|/ |/| | | | | | | | | | | | | | | | | Use `ENV{CMAKE_TLS_VERIFY}` if `CTEST_TLS_VERIFY` or `CMAKE_TLS_VERIFY` is not set. Issue: #23608
* | | Source: Use cmValue::IsOn and IsOffVitaly Stakhovsky2024-03-172-5/+5
| | | | | | | | | | | | Speed up a bit by calling members directly.
* | | ctest: Fall back to CMake options for TLS versionBrad King2024-03-121-2/+22
| | | | | | | | | | | | | | | | | | | | | Use `CMAKE_TLS_VERSION` or `ENV{CMAKE_TLS_VERSION}` if `CTEST_TLS_VERSION` is not set. Issue: #25701
* | | ctest: Fall back to CMake options for TLS server verificationBrad King2024-03-121-2/+13
| | | | | | | | | | | | Use `CMAKE_TLS_VERIFY` if `CTEST_TLS_VERIFY` is not set.
* | | ctest: Add explicit options for TLS versionBrad King2024-03-124-0/+20
| | | | | | | | | | | | | | | | | | | | | Add a dedicated `TLSVersion` ctest option and a `CTEST_TLS_VERSION` variable to control it. Issue: #25701
* | | ctest: Add explicit options for TLS server verificationBrad King2024-03-124-13/+28
| | | | | | | | | | | | | | | | | | Add a dedicated `TLSVerify` ctest option and a `CTEST_TLS_VERIFY` variable to control it. Deprecate `CurlOptions` because it exposes internal implementation details.
* | | cmCTestCurl: Factor out helper struct for curl optionsBrad King2024-03-123-26/+17
| | |
* | | cmCTestCurl: Use inline member initializationBrad King2024-03-122-13/+7
| | |
* | | Merge topic 'ctest-j-default'Brad King2024-03-115-50/+109
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5de1e21659 ctest: Allow passing -j without value to choose a contextual default bbcbcff7d9 cmCTestMultiProcessHandler: Modernize member initialization 7457b474a1 Tests: Remove unnecessary parallel suppression from CTestCoverageCollectGCOV ae69801d96 Tests: Convert CTestTestSkipReturnCode to RunCMake.ctest_test case 30dda49416 Tests: Convert CTestTestSerialOrder to RunCMake.ctest_test case Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9315
| * | ctest: Allow passing -j without value to choose a contextual defaultBrad King2024-03-105-17/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under job server integration, added by commit 80fe56c481 (ctest: Add support for running under a make job server on POSIX systems, 2023-11-15, v3.29.0-rc1~324^2), use a very high default so that parallelism is effectively limited only by available job server tokens. Otherwise, choose a default limit based on the number of processors. Also allow passing `0` to specify unbounded parallelism. Fixes: #25739
| * | cmCTestMultiProcessHandler: Modernize member initializationBrad King2024-03-103-34/+23
| | |
* | | Merge topic 'ctest-tests-from-file'Brad King2024-03-112-27/+26
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | 170ec48601 Help: Improve ctest tests-from-file documentation wording and wrapping 1a4837641e ctest: Remove unnecessary and ambiguous tests-from-file comment syntax d52c66bfb3 ctest: Honor tests-from-file options with empty input 8673264e25 Tests: Make ctest tests-from-file expected output more precise Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9322
| * | ctest: Remove unnecessary and ambiguous tests-from-file comment syntaxBrad King2024-03-081-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | Test names can contain `#`. Since we ignore lines that do not match any test names anyway, "commenting" can still work without explicit syntax. Also drop whitespace trimming for similar reasons. Fixes: #25741
| * | ctest: Honor tests-from-file options with empty inputBrad King2024-03-082-22/+24
| | | | | | | | | | | | If the `--tests-from-file` input file is empty, no tests should run.
* | | Merge topic 'gtest-json-test-def-source'Brad King2024-03-083-0/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 06860d5c12 ctest: Show custom test properties in --show-only=json-v1 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9305
| * | | ctest: Show custom test properties in --show-only=json-v1Daniel Sim2024-03-063-0/+8
| | | |
* | | | Merge topic 'ctest-tests-from-file'Brad King2024-03-082-10/+14
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | | | | ca0a9def2e ctest: Exit with failure when tests-from-file input is missing 60433fc6e8 Tests: Generalize ctest tests-from-file test cases Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9317
| * | ctest: Exit with failure when tests-from-file input is missingBrad King2024-03-062-10/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the options added by * commit 022f20f663 (ctest: add command line option to run the tests listed in a given file, 2023-11-29, v3.29.0-rc1~66^2~2) * commit dbacc1d5a8 (ctest: add command line option to exclude tests listed in a given file, 2023-11-30, v3.29.0-rc1~66^2~1) * commit 701029726f (ctest_test: add options INCLUDE_FROM_FILE and EXCLUDE_FROM_FILE, 2023-12-03, v3.29.0-rc1~66^2) are given a missing file, fail instead of ignoring it. Fixes: #25740
* | ctest: include "Time" element in Upload.xmlZack Galbreath2024-02-271-0/+2
| | | | | | | | | | | | Add a `<Time>` element to Upload.xml that contains the Unix timestamp when this file was generated. This matches the data recorded by CTest in its other XML files.
* | Reduce scope of variableChristoph Grüninger2024-02-141-5/+2
| | | | | | | | Found by Cppcheck (variableScope)
* | Remove unused variableChristoph Grüninger2024-02-142-2/+0
| | | | | | | | Found by Cppcheck.
* | CTest: Throw error if resource spec is invalidKyle Edwards2024-02-083-4/+7
|/
* Merge topic 'ctest-tests-from-file'Brad King2024-01-264-0/+80
|\ | | | | | | | | | | | | | | | | | | 701029726f ctest_test: add options INCLUDE_FROM_FILE and EXCLUDE_FROM_FILE dbacc1d5a8 ctest: add command line option to exclude tests listed in a given file 022f20f663 ctest: add command line option to run the tests listed in a given file Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !9128
| * ctest_test: add options INCLUDE_FROM_FILE and EXCLUDE_FROM_FILEAlex Neundorf2024-01-252-0/+12
| | | | | | | | | | | | | | These options can be used to specify files which can be used to restrict the set of tests that will be executed. Fixes: #25455
| * ctest: add command line option to exclude tests listed in a given fileAlex Neundorf2024-01-252-4/+28
| | | | | | | | | | | | | | Add `--exclude-from-file <filename>` to exclude the tests listed in the given file. Issue: #25455
| * ctest: add command line option to run the tests listed in a given fileAlex Neundorf2024-01-252-0/+44
| | | | | | | | | | | | | | | | Add `--tests-from-file <filename>` to run only the tests listed in the given file. The test names must match exactly, no regexps or something. The listed tests can still be filtered with a regexp using -R. Issue: #25455
* | Merge topic 'cmuvprocesschain'Brad King2024-01-252-11/+4
|\ \ | |/ |/| | | | | | | | | | | | | | | adb3e13d32 cmUVProcessChain: Tolerate fileno() of invalid FILE stream b6e4e4babc cmUVProcessChain: Simplify SetExternalStream usage 116bb2b70f cmUVProcessChain: Simplify builder initialization d32c30906a Tests: Add missing include in testUVProcessChainHelper on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9181
| * cmUVProcessChain: Simplify SetExternalStream usageBrad King2024-01-242-11/+4
| | | | | | | | | | It is commonly called with the `fileno()` of a `FILE*` stream, so accept the latter directly.
* | Source: Avoid out-of-range inputs to std::isspace()Brad King2024-01-171-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | `isspace` takes `int` but documents that the value must be representable by `unsigned char`, or be EOF. Use a wrapper to cast to `unsigned char` to avoid sign extension while converting to `int`. This generalizes the fix from commit 5e8c176e2a (cmExecuteProcessCommand: Cast c to unsigned char before cast to int, 2024-01-05) to other `isspace` call sites. This was detected by assertions in the MSVC standard library while processing UTF-8 text. Issue: #25561
* | ctest: allow HTTP headers via command lineMatthew Woehlke2024-01-082-1/+26
| | | | | | | | Add ability to specify HTTP headers via `ctest -T Submit`.