summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* 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`.
* | ctest: Add support for running under a make job server on POSIX systemsBrad King2023-12-032-0/+43
| | | | | | | | | | Share job slots with the job server by acquiring a token before running each test, and releasing the token when the test finishes.
* | cmUVJobServerClient: Add libuv-based job server integration clientBrad King2023-12-032-0/+614
| |
* | cmCTestMultiProcessHandler: Inline removal of pending test as it startsBrad King2023-11-222-11/+7
| | | | | | | | | | Avoid searching the entire list of ordered pending tests to remove one when we already know where it is.
* | cmCTestMultiProcessHandler: Clarify role of StartTestProcessBrad King2023-11-221-4/+4
| | | | | | | | | | Focus its role on actually running the test process. Move administrative tasks to the call site.
* | cmCTestMultiProcessHandler: Manage concurrency slots with other resourcesBrad King2023-11-221-2/+4
| |
* | cmCTestMultiProcessHandler: Manage affinity assignments with other resourcesBrad King2023-11-221-21/+23
| |
* | cmCTestMultiProcessHandler: Simplify test startup batchingBrad King2023-11-214-20/+14
| | | | | | | | | | | | | | Once a test is ready to run, count it against the number of tests to start in the current batch whether or not the test process actually starts successfully. If a test process does fail to start, simply schedule a new startup batch on the next loop iteration.
* | cmCTestMultiProcessHandler: Start new tests asynchronouslyBrad King2023-11-212-2/+17
| | | | | | | | | | | | | | When a test finishes, defer starting new tests until the next loop iteration. That way, if multiple tests finish in a single loop iteration, we can free all of their resources first, and then start a new batch of tests.
* | cmCTestMultiProcessHandler: Clarify test-load retry timer infrastructureBrad King2023-11-212-32/+23
| |
* | cmCTestMultiProcessHandler: Factor out loop startup and teardownBrad King2023-11-212-2/+15
| |
* | cmCTestMultiProcessHandler: Consolidate test readiness checksBrad King2023-11-211-11/+13
| |
* | cmCTestMultiProcessHandler: Exclude dependent tests earlierBrad King2023-11-211-8/+6
| | | | | | | | | | Tests with unfinished dependencies should not be considered at all when looking for tests that fit within the load and concurrency limits.
* | cmCTestTestHandler: Clarify name of member storing RESOURCE_LOCK propertyBrad King2023-11-214-12/+12
| | | | | | | | The property represents project-defined resources.
* | Merge topic 'ctest-cleanup'Brad King2023-11-205-144/+148
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5d2e93f9e8 cmCTestMultiProcessHandler: Simplify logic on unavailable resources a4b061a035 cmCTestMultiProcessHandler: Clarify resource availability error member names 1487e540aa cmCTestMultiProcessHandler: Reduce repeat test property map lookups b02b628ad9 cmCTestMultiProcessHandler: Simplify loop termination on serial test 8f1e8af0cc cmCTestMultiProcessHandler: Stop searching for tests when limit is reached bd0b4ca867 cmCTestMultiProcessHandler: Invert spare load condition 9b548139fd cmCTestMultiProcessHandler: Clarify search for tests <= concurrency limit ee321dc85f cmCTestMultiProcessHandler: Clarify search for tests <= spare load ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8981
| * | cmCTestMultiProcessHandler: Simplify logic on unavailable resourcesBrad King2023-11-171-4/+7
| | | | | | | | | | | | Deallocation is not necessary after allocation fails.
| * | cmCTestMultiProcessHandler: Clarify resource availability error member namesBrad King2023-11-174-17/+17
| | | | | | | | | | | | | | | The members are about the availability of sufficient resources, not allocation of them.
| * | cmCTestMultiProcessHandler: Reduce repeat test property map lookupsBrad King2023-11-171-7/+7
| | |
| * | cmCTestMultiProcessHandler: Simplify loop termination on serial testBrad King2023-11-171-5/+2
| | |
| * | cmCTestMultiProcessHandler: Stop searching for tests when limit is reachedBrad King2023-11-171-4/+8
| | | | | | | | | | | | Avoid an extra loop iteration if we have no room for more tests.
| * | cmCTestMultiProcessHandler: Invert spare load conditionBrad King2023-11-171-8/+8
| | | | | | | | | | | | Switch then/else blocks to reduce indentation.
| * | cmCTestMultiProcessHandler: Clarify search for tests <= concurrency limitBrad King2023-11-171-1/+6
| | |
| * | cmCTestMultiProcessHandler: Clarify search for tests <= spare loadBrad King2023-11-171-8/+9
| | | | | | | | | | | | Move code into conditions where it is needed and comment its purpose.
| * | cmCTestMultiProcessHandler: Make loops over all pending tests more consistentBrad King2023-11-171-5/+5
| | | | | | | | | | | | | | | Some loops were using the ordered list unnecessarily while others used the main map of pending test. Update all to use the latter.
| * | cmCTestMultiProcessHandler: Clarify representation of pending test orderBrad King2023-11-172-20/+27
| | | | | | | | | | | | Also avoid copying the entire list each time we start a batch of tests.
| * | cmCTestMultiProcessHandler: Clarify representation of pending testsBrad King2023-11-173-23/+27
| | |
| * | cmCTestMultiProcessHandler: Avoid extra copy of test mapsBrad King2023-11-173-6/+6
| | |
| * | cmCTestMultiProcessHandler: Remove unused membersBrad King2023-11-172-12/+0
| | | | | | | | | | | | | | | | | | The `TestRunningMap` and `TestFinishMap` members have not been used since commit 44017a4767 (CTest: handle dependent and non dependent test requirements equally, 2013-10-17, v3.0.0-rc1~451^2~7).
| * | cmCTestMultiProcessHandler: Use cm::uv_loop_ptr abstractionBrad King2023-11-173-6/+7
| | | | | | | | | | | | This ensures all loop resources are released.
| * | cmCTestMultiProcessHandler: Factor out helper to check for completionJohn Parent2023-11-172-1/+7
| | |
| * | cmCTestMultiProcessHandler: Replace false condition with opposite assertChris Mahoney2023-11-171-3/+1
| | |
| * | cmCTestRunTest: Consolidate initialization in constructorBrad King2023-11-173-25/+15
| | |
* | | Merge topic 'ci-fedora-39'Brad King2023-11-201-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cdd741ebf9 Merge branch 'backport-ci-fedora-39' into ci-fedora-39 9283b20659 ci: Suppress CPack/RPM tests pending fix for Fedora 39 18145e8745 ci: Update FindMPI test environment for mpich on Fedora 39 a8be80ccf2 ci: Drop now-unnecessary Clang rules for CXXModules tests 99238b23e9 ci: use Fedora 39 images and environments 57eadec617 ci: update Linux image to Fedora 39 653262162c clang-tidy module: Update to build against LLVM/Clang 17 2cf9a65835 clang-tidy: ignore warnings new in version 17 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8983
| * \ \ Merge branch 'backport-ci-fedora-39' into ci-fedora-39Brad King2023-11-171-4/+4
| |\ \ \ | | |/ / | |/| / | | |/
| | * codespell: Match valgrind output without repeating a spelling errorBrad King2023-11-171-4/+4
| | |
* | | cmUVSignalHackRAII: Drop outdated and unused libuv SA_RESTART workaroundBrad King2023-11-171-4/+0
|/ / | | | | | | | | | | It is only needed for libuv < 1.19, but since commit c050d6a01e (string(TIMESTAMP): add %f specifier for microseconds, 2022-01-27, v3.23.0-rc1~59^2) we require libuv >= 1.28.
* | ctest_empty_binary_directory: Report more detail in failure messageBrad King2023-11-093-24/+37
| |
* | Merge topic 'cxx23'Brad King2023-11-082-9/+12
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | a0fabc4769 cmGlobalGeneratorFactory: Provide complete cmGlobalGenerator to deleter 85627a93c9 cmCTestBuildCommand: Avoid requiring complete cmGlobalGenerator type publicly 641c02a3ce cmList: Avoid using operator-> on input iterator e4483b8871 Tests: Avoid compiling call to dap::optional<dap::string>(nullptr) Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8950
| * cmCTestBuildCommand: Avoid requiring complete cmGlobalGenerator type publiclyBrad King2023-11-072-9/+12
| |
* | Source: Reduce vector entry allocations and copiesRose2023-10-236-31/+31
|/ | | | Prefer `emplace_back` over `push_back`.
* 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
| |