summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | cmCTestRunTest: Implement the ENVIRONMENT test property with EnvDiff tooAlex Reinking2022-08-151-8/+7
| | | | | | | | | | | | | | | | 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.
* | cmSystemTools: Add EnvDiff class to hold ENVIRONMENT_MODIFICATION logicAlex Reinking2022-08-151-121/+6
| | | | | | | | Prepare to re-use this logic when enhancing `cmake -E env`.
* | cmCTestRunTest: Simplify by using GetSystemPathlistSeparatorAlex Reinking2022-08-151-5/+1
| | | | | | | | | | | | 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.
* | cmCTestRunTest: Remove unnecessary CMAKE_BOOTSTRAP guardAlex Reinking2022-08-151-2/+0
| | | | | | | | CTest is not compiled during CMake's `bootstrap` build.
* | cmCTestHandlerCommand: Capture list of parsed keywords via bindingBrad King2022-07-252-5/+9
| |
* | cmArgumentParser: Drop unused keywordsMissingValue argument to Parse()Brad King2022-07-251-2/+1
| | | | | | | | | | All clients have been converted to encoding this requirement in their bindings.
* | cmArgumentParser: Model maybe-empty and non-empty lists with wrapper typesBrad King2022-07-073-5/+8
| | | | | | | | | | | | | | | | Previously bindings to `std::vector<std::string>` required at least one value. Some clients have been filtering `keywordsMissingValue` to support keywords followed by empty lists. Instead, require clients to specify whether a keyword's list can be empty as part of the binding type.
* | cmCTest*Command:: Use cm::optional for keyword argument presenceBrad King2022-07-058-67/+45
| |
* | cmArgumentParser: Avoid allocating copies of keyword stringsBrad King2022-07-058-13/+23
|/
* cmSystemTools: Fix 'ErrorOccurred' spellingFeRD (Frank Dana)2022-06-136-16/+16
| | | | | | | | Rename the booleans 's_ErrorOccured' and 's_FatalErrorOccured' to 's_ErrorOccurred' and 's_FatalErrorOccurred', respectively. Rename the getters and setters to 'Get[Fatal]ErrorOccurred' and 'Set[Fatal]ErrorOccurred', and fix all uses across the codebase.
* clang-tidy: fix `readability-static-definition-in-anonymous-namespace` lintsBen Boeckel2022-05-241-2/+2
|
* clang-tidy: address `google-readability-casting` lintsBen Boeckel2022-05-247-9/+13
| | | | At least those involving `static_cast`.
* clang-tidy: address `readability-container-data-pointer` lintsBen Boeckel2022-05-248-31/+31
|
* clang-tidy: address `modernize-use-default-member-init` lintsBen Boeckel2022-05-244-12/+6
|
* cmCTestSubmitHandler: avoid double fetching envvarsBen Boeckel2022-05-211-4/+4
| | | | | Technically, they can change between these two calls, so use the verified pointer to assign to strings. Discovered by `clang-analyzer`.
* style: use `cmStrCat` in some more locationsBen Boeckel2022-05-191-2/+1
|
* cmJSONHelpers: Restructure cmJSONHelpersMartin Duffy2022-05-051-29/+24
| | | | Restructure cmJSONHelpers to prevent SunPro errors when passing context.
* Source: Fix clang -Wunused-but-set-variable warningsBrad King2022-04-063-13/+2
|
* Merge topic 'ctest-WORKING_DIRECTORY'Brad King2022-03-101-0/+8
|\ | | | | | | | | | | | | | | a116fd413d ctest: print WORKING_DIRECTORY property with -V Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7060
| * ctest: print WORKING_DIRECTORY property with -VKevin Puetz2022-03-091-0/+8
| |
* | ctest: add option for output truncationFrank Winklmeier2022-03-085-17/+73
| | | | | | | | | | | | | | | | | | | | 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
* | cmCTestTestHandler: refactor CleanTestOutput methodFrank Winklmeier2022-03-081-16/+23
|/ | | | | Refactor the code to skip over UTF-8 multi-bytes into its own lambda function so it can more easily be re-used.
* cmGlobalVisualStudio10Generator: Auto restore NuGet packages.Carsten Rudolph2022-01-221-1/+2
|
* cmBuildOptions: Split build arguments into separate object.Carsten Rudolph2022-01-221-1/+4
|
* Merge topic 'ctest-add_subdirectory'Brad King2021-12-091-55/+38
|\ | | | | | | | | | | | | | | | | 7c5a120c38 Tests: Add case covering both ctest subdirectory commands 04deda1d2a CTest: Extract common implementation of add_subdirectory and subdirs Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6795
| * CTest: Extract common implementation of add_subdirectory and subdirsfriendlyanon2021-12-081-55/+38
| | | | | | | | | | | | | | | | | | | | The two functions have basically the same functionality in a CTest context, however the add_subdirectory implementation was missing code for changing the current working directory similarly to how it was done for subdirs. This commit extracts the common code and also fixes that bug. Issue: #22921
* | cmListFileBacktrace: Remove unused "bottom" entryBrad King2021-12-081-1/+1
|/ | | | | All uses of `GetBottom` by clients have been removed, so drop the method and its supporting infrastructure.
* Source: Cleanup and simplify some codeRose2021-11-046-31/+14
|
* Source: Replace C headers with C++ onesRose2021-11-029-15/+12
| | | | In applicable areas only, of course.
* Merge topic 'envmod-test-modifying-existing'Brad King2021-11-011-1/+17
|\ | | | | | | | | | | | | | | 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
| * cmCTestRunTest: get the default value from the environmentBen Boeckel2021-10-291-1/+17
| | | | | | | | | | | | | | | | 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
* | Merge topic 'warnings-cleanup'Brad King2021-10-273-6/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7e4e192ce2 Source: fix clang-tidy modernize-redundant-void-arg warning 8d671dd94c Source: fix more -Wmissing-prototypes warnings 1cf14f8c03 Source: fix many -Wmissing-prototypes warnings by marking functions static 319944b3d2 Source: fix some -Wunused-macros warnings 5257d9e71a Source: fix only -Wshorten-64-to-32 warning with explicit cast Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6648
| * | Source: fix more -Wmissing-prototypes warningsSean McBride2021-10-251-3/+3
| | |
| * | Source: fix many -Wmissing-prototypes warnings by marking functions staticSean McBride2021-10-251-1/+1
| | |
| * | Source: fix some -Wunused-macros warningsSean McBride2021-10-251-2/+0
| | | | | | | | | | | | | | | - deleted one unused define - moved define into #if block where it is used
* | | Merge topic 'purge-sprintf'Brad King2021-10-277-16/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Replace the only non-standard _snprintf with snprintfSean McBride2021-10-251-1/+1
| | | |
| * | | Source: Replace most calls to sprintf with snprintfSean McBride2021-10-256-15/+21
| |/ /
* | | Merge topic 'simplify-boolean-expressions'Brad King2021-10-271-3/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd918c517d Source: Simplify some boolean expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6654
| * | | Source: Simplify some boolean expressionsRose2021-10-231-3/+2
| |/ /
* | | Merge topic 'envmod-support-mod-to-new-variables'Brad King2021-10-271-6/+2
|\ \ \ | |/ / |/| / | |/ | | | | | | | | 69f95cf1d9 cmCTestRunTest: fix modifying non-existent envvars Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6663
| * cmCTestRunTest: fix modifying non-existent envvarsBen Boeckel2021-10-261-6/+2
| | | | | | | | | | | | | | | | | | 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
* | Merge topic 'lcc-compiler'Brad King2021-10-191-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 02b2607a5c Help: Add release note for MCST LCC compiler support e5d9fce03f LCC: Add dedicated support for MCST LCC compiler 2b9ef77944 CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecture 0995c75301 Tests/RPM: skip tests tat rely on debugedit if it's not found ea55ac9a51 Tests/RunCMake/CommandLine: Deal with locales that are different from English Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6608
| * | LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-0/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.