summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* ctest: allow cdash submissions using alternate authentication methodsClinton Stimpson2018-08-171-0/+4
|
* Merge topic 'cleanup-find-cstr'Brad King2018-08-095-18/+18
|\ | | | | | | | | | | | | 69ca85cc7f Remove unnecessary c_str() in RegularExpression::find calls Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2271
| * Remove unnecessary c_str() in RegularExpression::find callsVitaly Stakhovsky2018-08-075-18/+18
| |
* | cmGeneratedFileStream: clang-tidy applied to remove redundant ``c_str`` callsSebastian Holtermann2018-08-074-6/+6
|/ | | | | | | | | | | | | | | After changing the ``cmGeneratedFileStream`` methods to accept ``std::string const&`` instead of ``const char*`` we don't need to call ``std::string::c_str`` anymore when passing a ``std::string`` to a ``cmGeneratedFileStream`` method. This patch removes all redundant ``std::string::c_str`` calls when passing a string to a ``cmGeneratedFileStream`` method. It was generated by building CMake with clang-tidy enabled using the following options: -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-4.0;-checks=-*,readability-redundant-string-cstr;-fix;-fix-errors
* Merge topic 'ctest_submit-https'Brad King2018-06-292-3/+5
|\ | | | | | | | | | | | | | | 71f27c04b0 ctest_submit: show headers as debug info 4464ef21da ctest_submit: Check CA file during CDASH_UPLOAD Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2171
| * ctest_submit: show headers as debug infoZack Galbreath2018-06-272-3/+3
| | | | | | | | | | | | | | Hide any headers specified by `ctest_submit(HTTPHEADER ...)` unless ctest is run with --debug. This option is used to present bearer tokens to CDash. We do not want to inadvertently expose this secret data in the console output log.
| * ctest_submit: Check CA file during CDASH_UPLOADZack Galbreath2018-06-271-0/+2
| | | | | | | | | | | | | | This fixes a bug where ctest(SUBMIT CDASH_UPLOAD ...) would fail when attemping to submit to a site bearing a genuine SSL certificate. This code path was missing a call to cmCurlSetCAInfo() which loads the certificate authority file.
* | Update use of KWSys SystemTools::SplitString for new signatureBrad King2018-06-221-3/+2
|/
* Fix misc. typosluz.paz2018-06-043-3/+3
| | | | Found via `codespell` and `grep`
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-0131-452/+573
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Merge topic 'parallel_build_option'Brad King2018-05-291-3/+3
|\ | | | | | | | | | | | | | | 1ab3881ec9 cmake: Add options for parallel builds to --build mode Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Henry Schreiner <henryschreineriii@gmail.com> Merge-request: !1962
| * cmake: Add options for parallel builds to --build modeFlorian Maushart2018-05-251-3/+3
| | | | | | | | | | | | | | While we already support `cmake --build . -- -j`, the options after `--` are specific to the native build tool. Add new options `--parallel [<N>]` and `-j [<N>]` to abstract this and map to the proper option for the native build tool.
* | Merge topic 'xml-element-enhance'Brad King2018-05-142-61/+51
|\ \ | | | | | | | | | | | | | | | | | | ff13b0cdc2 cmCTestLaunch: use cmXMLElement for XML generation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2057
| * | cmCTestLaunch: use cmXMLElement for XML generationVitaly Stakhovsky2018-05-112-61/+51
| |/ | | | | | | class `cmXMLElement` enhanced with more members; its use demonstrated
* | ctest_start: read model from TAG fileKyle Edwards2018-05-091-27/+46
|/ | | | | | | | This change reworks ctest_start() so that simply calling ctest_start(APPEND) will read all the information from the TAG file. On top of that, it relaxes the argument parsing for ctest_start() to allow greater flexibility in the argument ordering, and the documentation for ctest_start() has been cleaned up.
* cmCTestCurl: Fix UploadFile declared parameter namesjrp20142018-04-051-1/+1
| | | | Match the order used in the definition.
* Merge topic 'gcov-warning-message'Brad King2018-03-291-1/+2
|\ | | | | | | | | | | | | ae1cbff07f CTest: The "Could not find gcov." message should not be a warning Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1894
| * CTest: The "Could not find gcov." message should not be a warningBetsy McPhail2018-03-281-1/+2
| | | | | | | | It now matches the log level of other coverage messages.
* | Merge topic 'ctest_update-memory-problems'Brad King2018-03-281-1/+3
|\ \ | |/ |/| | | | | | | | | | | 27f033550a ctest_update: Fix crash when handling svn externals 75e8af3354 cmSystemTools: Fix ParseArguments out-of-bounds read Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1893
| * ctest_update: Fix crash when handling svn externalsBrad King2018-03-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.9.0-rc1~156^2 (c++: prefer vectors over lists, 2017-05-04) switched `cmCTestSVN::Repositories` from `std::list` to `std::vector`. This can cause re-allocation when svn externals are processed and break the `RootInfo` pointer that is supposed to point at the first repository element. Switch back to `std::list` so that the address remains stable. Fixes: #17854
* | Merge topic 'cmWorkingDirectory_success_checking'Brad King2018-03-098-13/+139
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 5901699672 cmDepends: Remove attempt to change directory that always fails e60e4dfc88 cmWorkingDirectory: Check success of current dir changes e654622aee Tests: Add --build-and-test test case a865f0beb2 Tests: Confirm test working dir set successfully Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1817
| * | cmWorkingDirectory: Check success of current dir changesCraig Scott2018-03-088-13/+139
| |/
* | Merge topic 'misc-typos'Brad King2018-03-081-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 32f6b7a43b Fix misc typos in documentation and comments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1826
| * | Fix misc typos in documentation and commentsluz.paz2018-03-071-1/+1
| |/
* | CTest: Add options to control test process affinity to CPUsBrad King2018-03-058-6/+62
|/ | | | | | | | | | In commit v2.8.0~170 (ENH: Added ctest test options PROCESSORS and RUN_SERIAL, 2009-09-07) CTest learned to track the number of processors allocated to running tests in order to balance it against the desired level of parallelism. Extend this idea by introducing a new `PROCESSOR_AFFINITY` test property to ask that CTest run a test with the CPU affinity mask set. This will allow a set of tests that are running concurrently to use disjoint CPU resources.
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-3117-80/+74
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* Merge topic 'reduce-temporaries'Brad King2018-01-297-36/+25
|\ | | | | | | | | | | | | c85bb007 Reduce allocation of temporary values on heap. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1698
| * Reduce allocation of temporary values on heap.Pavel Solodovnikov2018-01-267-36/+25
| | | | | | | | | | - Use `std::move` while inserting temporary results into vectors. - Change `push_back` to `emplace_back` where appropriate.
* | Merge topic 'ctest_start_function_scope'Brad King2018-01-293-3/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | 13347740 Help: add release notes, documentation for CTEST_RUN_CURRENT_SCRIPT behavior 74092d92 cmCTestScriptHandler: Add new field ShouldRunCurrentScript Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1703
| * | cmCTestScriptHandler: Add new field ShouldRunCurrentScriptKyle Edwards2018-01-263-3/+14
| |/ | | | | | | | | | | | | | | | | | | This is to avoid scope issues with CTEST_RUN_CURRENT_SCRIPT. If ctest_start() is called within a function scope, the value of CTEST_RUN_CURRENT_SCRIPT that it sets doesn't make it to the global scope. With this change, ctest_start() no longer sets CTEST_RUN_CURRENT_SCRIPT, and instead sets a field directly in cmCTestScriptHandler. The old behavior of CTEST_RUN_CURRENT_SCRIPT has also been kept for projects and tests that rely on setting it.
* | Merge topic 'dedup-uv-signal-hack'Brad King2018-01-261-37/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 3ec5f7c1 De-duplicate cmUVSignalHackRAII 1ad58d30 cmUVSignalHackRAII: Use nullptr instead of NULL Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1699
| * | De-duplicate cmUVSignalHackRAIIBrad King2018-01-251-37/+2
| | | | | | | | | | | | | | | | | | This was added separately in `cmCTestMultiProcessHandler` and `cmQtAutoGenerator`. Factor out the duplicate code into a common header for re-use.
| * | cmUVSignalHackRAII: Use nullptr instead of NULLBrad King2018-01-251-2/+2
| |/
* | Make use of std::chrono throughout every componentWouter Klouwen2018-01-232-7/+11
| | | | | | | | | | | | | | | | This commit continues the changes made in CTest to support std::chrono by applying it throughout every component where a duration was used. No functional change intended.
* | CTest: add safe conversion from cmDuration to integer typesWouter Klouwen2018-01-233-30/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | A problem area by recent refactoring of time to std::chrono has been the unsafe conversion from duration<double> to std::chrono::seconds, which is of an unspecified integer type. This commit adds a template function that for a given type provides a safe conversion, effectively clamping a duration<double> into what fits safely in that type. A specialisation for int and unsigned int are provided. It changes the protential problem areas to use this safe function.
* | CTest: introduce cmDurationWouter Klouwen2018-01-2316-76/+78
|/ | | | | | | | This commit introduces cmDuration as a typedef for std::chrono::duration<double, std::ratio<1>>. It is less verbose and provides for a point to put future common functionality for durations. No functional change intended.
* CTest: Fix process output read error casesBrad King2018-01-171-0/+5
| | | | | | | The libuv documentation states that the stream read callback may be called with `nread == 0` for EAGAIN. Handle this gracefully. It also states that the callee is responsible for closing the stream on error. Always close the stream for `nread < 0`.
* CTest: Fix decoding of MBCS character split by bufferingBrad King2018-01-172-9/+10
| | | | | | Use a single `cmProcessOutput` instance persistently to decode all output of a test process so that partial character bytes can be buffered.
* CTest: Re-implement test process handling using libuvBryon Bean2018-01-106-195/+695
| | | | Co-Author: Brad King <brad.king@kitware.com>
* cmProcess: Use explicit enum for process exit exceptionBryon Bean2018-01-103-7/+33
| | | | Translate the values from KWSys Process.
* cmProcess: Use explicit enum for process stateBryon Bean2018-01-103-13/+40
| | | | Translate the values from KWSys Process.
* cmProcess: Remove unused ReportStatus methodBryon Bean2018-01-102-61/+0
|
* cmCTestRunTest: Modernize constructor and destructor declsBryon Bean2018-01-102-6/+3
|
* cmCTestRunTest: Drop unused membersBryon Bean2018-01-101-8/+0
|
* cmCTestMultiProcessHandler: Factor out duplicate test finish logicBryon Bean2018-01-102-36/+38
|
* cmCTestMultiProcessHandler: Add helper to make libuv use SA_RESTARTBrad King2018-01-101-0/+37
| | | | | | Prior to 1.19, libuv does not use SA_RESTART in its signal handler. Add a helper to cause libuv to install its handler and then revise the handler's flags to add SA_RESTART.
* cmCTestMultiProcessHandler: Fix StartNextTests loop on not-started testBrad King2018-01-082-19/+20
| | | | | | | | If `StartTestProcess` does not start a test, propagate this information back up to the `StartNextTests` loop so that it can move on to another candidate without allocating processors to a test that didn't run. Otherwise we have to wait for the next time `RunTests` loops around and calls `StartNextTests` again.
* cmCTestMultiProcessHandler: Check stop time more directlyBrad King2018-01-083-14/+14
| | | | | | | | Avoid creating a cmCTestRunTest instance if the stop time has been reached. If the stop time occurs in the small time between creating an instance and computing the child process timeout, we will simply compute a zero timeout. This is already done for the case that we StartAgain after the stop time.
* cmCTestRunTest: Subsume ResolveTimeout into only call siteBrad King2018-01-082-29/+18
|
* cmCTest: Refactor stop time calculationsBrad King2018-01-081-40/+3
| | | | | Calculate the stop time up front instead of re-parsing its string for every test.