summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* CTest: Fix timeout when grandchild keeps pipes openBrad King2020-01-141-3/+0
| | | | | | | | | | | When a test's process creates its own child and exits, the grandchild may keep pipes open. Fix CTest logic to correctly timeout if the grandchild does not exit and close the pipes before the timeout expires. This was broken by commit b5e21d7d2e (CTest: Re-implement test process handling using libuv, 2017-12-10, v3.11.0-rc1~117^2) which added an unnecessary condition to the timeout handling. Fixes: #20116
* Refactoring: suppress cmEraseIf in favor of cm::erase_ifMarc Chevrier2020-01-092-5/+6
|
* GlobalGenerator family: modernize memory managementMarc Chevrier2020-01-074-18/+10
|
* Merge topic 'ctest-resource-allocation-spec-message'Craig Scott2019-12-293-23/+81
|\ | | | | | | | | | | | | b393b32b4b CTest: Improve error handling when reading resource spec file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4162
| * CTest: Improve error handling when reading resource spec fileKyle Edwards2019-12-273-23/+81
| | | | | | | | Fixes: #20079
* | Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-1710-31/+43
| |
* | Merge topic 'ctest-drmemory-support'Brad King2019-12-122-6/+180
|\ \ | | | | | | | | | | | | | | | | | | | | | 676befdf52 ctest: add support for memcheck using Dr. Memory 2db0a65f56 cmCTestMemCheckHandler.cxx: minor refactoring Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4119
| * | ctest: add support for memcheck using Dr. MemoryDietmar Scheidl2019-12-102-0/+177
| | | | | | | | | | | | Fixes: #19788
| * | cmCTestMemCheckHandler.cxx: minor refactoringDietmar Scheidl2019-12-101-6/+3
| | |
* | | ctest: Populate CTEST_CONFIGURATION_TYPE from the -C command line when setJulien Jomier2019-12-091-0/+7
|/ /
* | Merge topic 'ctest-resource-fixes'Brad King2019-11-261-0/+26
|\ \ | |/ | | | | | | | | | | | | | | a033bafbe0 Help: Clarify how tests are run if no resource spec file is specified a64ba0235f CTest: Clarify that resource requirements can be split f9f294f5fa CTest: Add version field to resource spec file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4080
| * CTest: Add version field to resource spec fileKyle Edwards2019-11-251-0/+26
| | | | | | | | Fixes: #20007
* | ctest_test: Add option to REPEAT testsBrad King2019-11-074-3/+38
| |
* | cmCTestMultiProcessHandler: Hold repeat mode as a memberBrad King2019-11-073-4/+14
| |
* | CTest: Rename internal APIs for --repeat optionsBrad King2019-11-073-13/+13
| | | | | | | | Replace use of the term "rerun" with "repeat" to match the public names.
* | Merge branch 'backport-ctest-resource-groups'Brad King2019-11-0517-272/+278
|\ \ | |/
| * CTest: Rename hardware -> resources for source codeCraig Scott2019-11-0514-180/+185
| |
| * cmCTestMultiProcessHandler: Rename resource locking functionsCraig Scott2019-11-052-6/+6
| | | | | | | | | | | | Renaming these ahead of other refactoring which will use the previous names. The previous names more accurately reflect their purpose after this commit anyway (talking about locking and unlocking rather than allocating and deallocating).
| * CTest: Rename hardware -> resources for CMake variables, command optionsCraig Scott2019-11-053-5/+5
| | | | | | | | | | | | Only changes the user-visible effects of renaming hardware allocation to resource allocation. Code changes are the minimum needed to achieve that.
| * CTest: Rename "Processes" lexer to "ResourceGroups"Brad King2019-11-054-63/+63
| | | | | | | | | | The corresponding test property `PROCESSES` has been renamed to `RESOURCE_GROUPS`.
| * CTest: Rename PROCESSES test property to RESOURCE_GROUPSBrad King2019-11-054-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | The `PROCESSES` test property name added for CMake 3.16 is too close to the existing `PROCESSORS` test property. Furthermore, the property in principle specifies groups of resources organized in a way that is meaningful to a particular test. The groups may often correspond to processes but they could have other meanings. Since the property name `PROCESSES` has not been in a final 3.16 release yet, simply rename it to `RESOURCE_GROUPS`. Fixes: #19914
* | ctest: Add --repeat-after-timeout optionBrad King2019-10-291-5/+8
| | | | | | | | | | Add an option to re-run tests if they timeout. This will help tolerate sporadic timeouts on busy machines.
* | ctest: Add --repeat-until-pass optionBrad King2019-10-293-11/+22
| | | | | | | | | | | | | | | | | | Add an option to re-run tests if they fail. This will help tolerate sporadic failures. Issue: #17010 Co-Author: Ben Boeckel <ben.boeckel@kitware.com> Co-Author: Chuck Atkins <chuck.atkins@kitware.com>
* | cmCTestRunTest: Use inline member initializersBrad King2019-10-292-6/+3
|/
* CTest: Add Json output for PROCESSES propertyKyle Edwards2019-10-021-0/+26
|
* CTest: Allocate hardware to testsKyle Edwards2019-10-028-7/+252
|
* CTest: Add bin-packing algorithmKyle Edwards2019-10-022-0/+232
| | | | | | | This algorithm is used to determine whether or not a test can execute with the available resources. It uses a recursive largest- first algorithm to try to place the tests into their respective slots.
* CTest: Add cmCTestHardwareAllocator classKyle Edwards2019-10-022-0/+125
|
* CTest: Add parser for hardware spec fileKyle Edwards2019-10-022-0/+173
|
* CTest: Add lexer for PROCESSES propertyKyle Edwards2019-10-024-0/+142
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-0179-349/+395
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* Merge topic 'ctest-argument-parser'Kyle Edwards2019-09-2618-539/+270
|\ | | | | | | | | | | | | | | 0aa8a2ab8b cmCTest*Command: Port to cmArgumentParser d5a6a13368 cmArgumentParser: Record parsed keywords Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3835
| * cmCTest*Command: Port to cmArgumentParserRegina Pfeifer2019-09-2018-539/+270
| |
* | cmstd: Modernize CMake system headersMarc Chevrier2019-09-2018-18/+20
|/ | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-1630-51/+51
|
* Merge topic 'modernize-use-auto'Brad King2019-09-128-40/+23
|\ | | | | | | | | | | | | d25a5a7ec9 clang-tidy: modernize-use-auto Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3783
| * clang-tidy: modernize-use-autoRegina Pfeifer2019-09-108-40/+23
| | | | | | | | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* | cmCTestTestHandler: Port away from cmCommandRegina Pfeifer2019-09-091-106/+51
|/
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-0416-29/+28
| | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-0312-22/+22
|
* IWYU: Add missing cstddef includes for size_t and nullptr_tBrad King2019-09-031-0/+1
| | | | The IWYU tool we use for CI now diagnoses these.
* cmCTestTestHandler: Re-order includes to follow our conventionBrad King2019-09-031-16/+17
|
* Merge topic 'pvs-cleanup'Brad King2019-08-263-5/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7fe3e874d5 cmCPackLog: Fix support for multiple log message tags 74f2c0ea56 cmCTestTestHandler: Remove extra layer of parentheses 7c2767ef3b cmCTestMultiProcessHandler: Explain testRun ownership in comments 303e813438 CTest: Simplify some boolean conditions 51565abe79 cmMessageCommand: Remove extra layer of parentheses b1cfaf7b91 cmVSSetupHelper: Remove unused SmartBSTR copy operations 3f4c4e7afe cmVSSetupHelper: Fix SmartBSTR copy operations a8ca5aea94 cmMakefileTargetGenerator: Check for null before using a pointer ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Acked-by: Artalus <artalus-mail@yandex.ru> Merge-request: !3715
| * cmCTestTestHandler: Remove extra layer of parenthesesBrad King2019-08-261-1/+1
| | | | | | | | | | | | | | | | A condition in `ComputeTestListForRerunFailed` contained an extra layer of parentheses. Remove them. The condition itself is correct because an empty list means "all tests" so we want to include the current test. Issue: #19610
| * cmCTestMultiProcessHandler: Explain testRun ownership in commentsBrad King2019-08-261-0/+3
| | | | | | | | | | | | | | | | The ownership semantics of the 'testRun' variable are subtle and may fool static analysers. Add comments explaining them for now. Later some refactoring could be done to clarify the code. Issue: #19610
| * CTest: Simplify some boolean conditionsBrad King2019-08-262-4/+2
| | | | | | | | | | | | | | Directly compare two boolean values instead of spelling out accepted combinations. Issue: #19610
* | Merge topic 'source_sweep_ostringstream_single'Brad King2019-08-265-23/+15
|\ \ | | | | | | | | | | | | | | | | | | 3b2b02825d Source sweep: Replace std::ostringstream when used with a single append Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3726
| * | Source sweep: Replace std::ostringstream when used with a single appendSebastian Holtermann2019-08-235-23/+15
| | | | | | | | | | | | | | | | | | | | | This replaces `std::ostringstream`, when it is written to only once. If the single written argument was numeric, `std::to_string` is used instead. Otherwise, the single written argument is used directly instead of the `std::ostringstream::str()` invocation.
* | | Merge topic 'source_sweep_cmExpandedList'Brad King2019-08-266-40/+20
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | aaf59120bf Source sweep: Replace cmExpandList with the shorter cmExpandedList Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3725
| * | | Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-236-40/+20
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the code pattern ``` std::vector<std::string> args; cmExpandList(valueStr, args, ...) ``` with ``` std::vector<std::string> args = cmExpandedList(valueStr, ...) ```