| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The members are about the availability of sufficient resources,
not allocation of them.
|
|
|
|
| |
This ensures all loop resources are released.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Issue: #25106
|
|/
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fixes: #25120
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
| |
Test timeout selection was previously spread out over several locations.
Consolidate it in a single place to make it easier to follow.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Going through the same internal API for both `ENVIRONMENT` and
`ENVIRONMENT_MODIFICATION` properties will make it easier to implement
checkpointing for `MYVAR=reset:` more efficiently if the need ever
presents itself. It also makes the two-stage nature of the environment
mutation clearer in the code itself.
|
|
|
|
| |
Prepare to re-use this logic when enhancing `cmake -E env`.
|
|
|
|
|
|
| |
Part of the implementation of `ENVIRONMENT_MODIFICATION` replicated the
logic in this function. Using it here de-duplicates code and will be
useful during the upcoming refactoring.
|
|
|
|
| |
CTest is not compiled during CMake's `bootstrap` build.
|
|\
| |
| |
| |
| |
| |
| |
| | |
a116fd413d ctest: print WORKING_DIRECTORY property with -V
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7060
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
Add `--test-output-truncation` to `ctest`. This option can be used to
customize which part of the test output is being truncated. Currently
supported values are `tail`, `middle` and `head`.
Also add equivalent `CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable.
Fixes: #23206
|
|\
| |
| |
| |
| |
| |
| |
| | |
9c4d6404eb Tests/Environment: also test modifying ambient values
7d52d48a32 cmCTestRunTest: get the default value from the environment
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6682
|
| |
| |
| |
| |
| |
| |
| |
| | |
This only works due to some assumptions about how the `ENVIRONMENT`
property is processed. Comments have been added to notify anyone
modifying the behavior about where to look.
Fixes: #22819
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
b7e9cd05cd Replace the only non-standard _snprintf with snprintf
5ba6e8ac59 Source: Replace most calls to sprintf with snprintf
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6649
|
| | |
|
|/
|
|
|
|
|
|
|
| |
When appending or modifying to a variable that has not been modified
before, the iterator was not valid, but it was used to insert into the
map again. Instead, just use indexing into the map since we know it will
exist by the end of the function anyways.
Fixes: #22796
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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()
|
|
|
|
|
| |
Parse test output for <CTestLabel>...</CTestLabel>.
If found, add this value to the list of labels associated with this test.
|
|
|
|
|
|
| |
Parse test output for <CTestDetails>...</CTestDetails>.
If found, use this value to override the default 'Details' string reported
to CDash.
|
|\
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Skipped tests should not stand out on their own lines
Fixes #21143
|
|/
|
|
|
| |
CMake uses explicit 'this->' style. Using custom clang-tidy check we can
detect and fix places where 'this->' was missed.
|
| |
|
|\ |
|
| |
| |
| |
| | |
Issue: #20543
|
| | |
|
| |
| |
| |
| | |
Newer IWYU is not seeing them as needed for `size_t`.
|
|/ |
|
| |
|
| |
|
|
|
|
| |
Replace use of the term "rerun" with "repeat" to match the public names.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Add an option to re-run tests if they timeout. This will help tolerate
sporadic timeouts on busy machines.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/ |
|
| |
|