summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* ctest_build: Update GNU make error message matching (#15379)Marco Nolden2015-01-281-2/+2
| | | | | | | The "No rule to make target" error message of gmake is not correctly recognized since GNU make changed the quoting style in commit 23c2b99e9d (Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines, 2012-03-04). Fix our regex to match both old and new quoting styles.
* Merge topic 'ctest-memcheck-sanitizers'Brad King2014-10-082-18/+65
|\ | | | | | | | | | | | | | | | | | | | | e0e75a72 Help: Add notes for topic 'ctest-memcheck-sanitizers' 7345a1f7 tests: Add a test for ctest_memcheck MemorySanitizer 0c6330da ctest_memcheck: Add support for MemorySanitizer msan 9ba8bf12 tests: add a test for ctest_memcheck UndefinedBehaviorSanitizer 816c100a ctest_memcheck: Add support for UndefinedBehaviorSanitizer ubsan b67ef537 ctest_memcheck: Order sanitizer type code consistently f48a2968 Tests: Organize CTestTestMemcheck inner test code
| * ctest_memcheck: Add support for MemorySanitizer msanBill Hoffman2014-10-072-0/+23
| |
| * ctest_memcheck: Add support for UndefinedBehaviorSanitizer ubsanBen Boeckel2014-10-072-2/+24
| | | | | | | | | | UBSan instruments a build and logs messages on any undefined behavior instances.
| * ctest_memcheck: Order sanitizer type code consistentlyBrad King2014-10-072-24/+26
| | | | | | | | Use alphabetic order everywhere we enumerate the sanitizer types.
* | Merge topic 'ctest-memcheck-sanitizers'Brad King2014-10-073-6/+14
|\ \ | |/ | | | | | | | | | | | | f25e431d tests: set sanitizer options properly f0661bf3 tests: fix copy/paste from tsan -> asan comments ca9cc25c ctest: add support for additional sanitizer options 0b9ffffc ctest: update documentation for CTEST_MEMORYCHECK_TYPE
| * ctest: add support for additional sanitizer optionsBen Boeckel2014-10-032-5/+13
| | | | | | | | | | Sanitizers receive options through their environment variable; support user-specified options here.
| * ctest: update documentation for CTEST_MEMORYCHECK_TYPEBen Boeckel2014-10-031-1/+1
| | | | | | | | | | | | The AddressSanitizer value was not documented. Also fix some typos.
* | Merge topic 'encoding-fstream'Brad King2014-10-073-10/+11
|\ \ | | | | | | | | | | | | 42e39bb3 Fix a few more places to use cmsys::[io]fstream instead of std::fstream.
| * | Fix a few more places to use cmsys::[io]fstream instead of std::fstream.Clinton Stimpson2014-10-043-10/+11
| |/
* | cmParseCoberturaCoverage: Initialize CurFileName to empty stringJonathan Beezley2014-10-031-0/+1
|/ | | | | | | | When the file is not found in $CMAKE_SOURCE_DIR/<file path>, the CurFileName pointer remained set to the previous file. This caused the new file's coverage data to populate the into the wrong object giving incorrect results and occasionally resulting in a seg fault.
* CTest: Use -A option to pass generator platform selectionBrad King2014-09-152-2/+2
| | | | This is less verbose than defining CMAKE_GENERATOR_PLATFORM.
* CTest: Add options to set generator platformBrad King2014-09-053-0/+23
| | | | | | | | | | The ctest_configure command already reads the CTEST_CMAKE_GENERATOR variable to get the value for the cmake -G option. Read new variable CTEST_CMAKE_GENERATOR_PLATFORM to pass on as CMAKE_GENERATOR_PLATFORM. The "ctest --build-and-test" mode already has "--build-generator" to specify the -G option to CMake. Add a "--build-generator-platform" option to specify a value to pass on as CMAKE_GENERATOR_PLATFORM.
* Merge topic 'fix_mumps_file_parser'Brad King2014-08-181-3/+5
|\ | | | | | | | | 6d66e396 CTEST: Fix MUMPS file parser and update test
| * CTEST: Fix MUMPS file parser and update testJoseph Snyder2014-08-151-3/+5
| | | | | | | | | | | | | | | | | | | | The current file parser for a MUMPS routine uses a period "." as the one of the signals that a line of MUMPS code is executable. This is not a correct assumption. Add the period to the list of characters that CTest will not consider the start of a line of code. Update the test routine to have an entry point with code to match the scenario mentioned above.
* | CTest: Allow / to be in the build name, and be consistent with the build nameBill Hoffman2014-08-183-5/+9
| | | | | | | | | | | | | | | | Prior to this change / was not allowed in the build name. This was tested with a CDash server and worked. In addition the safe build name was not used everywhere. This caused mismatched build names to be in the xml files going to CDash which caused different rows to be created for the same build.
* | ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the versionBill Hoffman2014-08-182-4/+13
|/ | | | | | | This allows ctest_update to get the current version without actually changing the repository. This is useful when using Jenkins or an external project to update the source to a specific version, but you still want the current version to show up in CDash.
* Merge topic 'fix_truncation_logic_valgrind_output'Brad King2014-08-051-22/+19
|\ | | | | | | | | b35a7730 Fix truncation of valgrind output logic.
| * Fix truncation of valgrind output logic.Bill Hoffman2014-08-041-22/+19
| | | | | | | | | | | | This showed up because scan-build noticed outputFull was basically a constant. Logic should be output all valgrind output. Then output regular test output until output limit is reached.
* | Change output to be a reference and not a pointer.Bill Hoffman2014-08-041-1/+1
|/ | | | | This avoids having to check the pointer value at each use which was not being done.
* cmGlobalGenerator: Take Build output argument by referenceBrad King2014-07-311-1/+1
| | | | | | No call sites pass NULL to the output argument, so take it by reference to avoid the if(output) conditions. Propagate the change through the TryCompile APIs that call it.
* CTEST: Update Jacoco Coverage search pathsJoseph Snyder2014-07-301-0/+3
| | | | | | | | | | Add a new additional entry to the FilePaths array when a "package" tag has been found. This path should consist of the package information found appended to the projects source directory. This change will allow code held in a /src/main/java/* directory off of the projects source directory to be found, unlike now which assumes a subdirectory contains the code.
* Handle more than one process with sanitizer errors.Bill Hoffman2014-07-242-11/+20
| | | | | | Since the Sanitizers write out one log file per process, a single test might have more than one log file. This commit allows ctest to read all of the log files found for a particual test.
* Merge topic 'encoding-ctest-fixes'Brad King2014-07-181-7/+8
|\ | | | | | | | | 09b2ac38 Encoding: Fix a few encoding problems with ctest.
| * Encoding: Fix a few encoding problems with ctest.Clinton Stimpson2014-07-181-7/+8
| | | | | | | | | | This also fixes some test failures on Windows when the name of the build directory contains non-ascii characters.
* | CTest: Fix MemoryCheckType from 'ctest -T MemCheck'Bill Hoffman2014-07-161-2/+2
| | | | | | | | | | | | Before this commit, you would have to run ctest -S mode to get MemoryCheckType to work. This is because CMAKE_COMMAND was not set. The fix is to use cmSystemTools::GetCMakeCommand instead.
* | ctest_memcheck: Add support for memory and leak sanitizer.Bill Hoffman2014-07-162-15/+68
|/ | | | | | This adds support for memory and leak sanitizers. This is built into clang and gcc 4.8 and new compilers. It is activated with a -f switch during compile.
* ctest_memcheck: Add support for ThreadSanitizerBill Hoffman2014-07-094-155/+337
| | | | | | | | | This commit adds support for ThreadSanitizer to ctest. ThreadSanitizer is part of the clang compiler and also gcc 4.8 and later. You have to compile the code with special flags. Then your code gets the the ThreadSanitizer ability built into it. To pass options to the ThreadSanitizer you use an environment variable. This commit teaches ctest to parse the output from ThreadSanitizer and send it to CDash.
* CTest: Implement message(STATUS) output for 'ctest -S' scriptsBrad King2014-07-021-0/+11
| | | | | | Send status messages to the CTest HANDLER_OUTPUT log since they are part of the script handler output. This also ensures they appear inline with other test command handler output.
* Merge topic 'launcher-limit-warnings-errors'Brad King2014-06-251-2/+7
|\ | | | | | | | | f7303131 CTest: Teach the launchers to honer the max warnings and errors
| * CTest: Teach the launchers to honer the max warnings and errorsBill Hoffman2014-06-251-2/+7
| | | | | | | | | | | | The ctest launcher code did not respect the number of errors and warnings limits. Limit the number of launcher report fragments that we report in the final submission.
* | cmCTestMemCheckHandler: Fix coding style in this classBill Hoffman2014-06-252-8/+8
|/ | | | | This class had a method that started with lower case, and also was called without this->.
* Merge topic 'fix-valgrind-in-path'Brad King2014-06-161-4/+5
|\ | | | | | | | | 58cc3c22 Fix ctest to allow valgrind to show up in the path name of a memcheck tool.
| * Fix ctest to allow valgrind to show up in the path name of a memcheck tool.Bill Hoffman2014-06-131-4/+5
| | | | | | | | | | | | | | For testing purposes CMake creates dummy memory checkers. The dummy checkers are in the CMake build tree. Before this change when the path contained the string valgrind, such as CMake-valgrind, all the checkers were thought to be valgrind, and this caused tests to fail.
* | Merge topic 'add_jacoco_coverage_parsing'Brad King2014-06-134-1/+270
|\ \ | |/ |/| | | | | 558c2190 CTest: Add Jacoco Coverage functionality
| * CTest: Add Jacoco Coverage functionalityJoseph Snyder2014-06-124-1/+270
| | | | | | | | | | | | | | | | Add the ability to parse the XML output of the Jacoco tool. Jacoco (www.eclemma.org/jacoco) is a Java coverage tool. Add and integrate a class for the parser and include a test which utilizes the new parser.
* | CTest: Fix combined inclusive/exclusive label regular expressionsNils Gladitz2014-06-061-2/+2
|/
* CTest: Generalize Cobertura coverage format handlingJoseph Snyder2014-06-042-9/+61
| | | | | | | | | Add support for Cobertura coverage files written by Java. Add a test which uses the report from a Java run of Cobertura to calculate coverage. In the documentation of CTEST_COVERAGE_COMMAND, give a sample .sh file to merge the Cobertura .ser files and generate the XML report from the merged file.
* CTest: Rename coverage implementation for "Python" to "Cobertura"Joseph Snyder2014-06-044-16/+16
| | | | | | The coverage.py tool writes out an XML that conforms to the Cobertura Coverage tool standard. Rename the cmParsePythonCoverage files to instead be cmParseCoberturaCoverage.
* CTest: Fix Python coverage.py off-by-one error in resultsZach Mullen2014-05-281-2/+2
| | | | | The cobertura format uses line numbers indexed starting at 1, and CTest uses a vector indexed starting at 0 to store them.
* CTest: Improve Python coverage.py source file search algorithmRoni Choudhury2014-05-281-7/+13
| | | | | | | | | | | | If the coverage.py source file is not found in the source directory, the build directory is first searched before raising an error. This is necessary because it is a valid workflow to build a Python package from source, then install this package to a virtualenv that lives in the build directory. Tests will run against this deployed package and therefore the covered source files will be found in a subdirectory of the build directory, and not anywhere in the source directory.
* Merge topic 'cmake-gui-capture-output'Brad King2014-05-161-23/+27
|\ | | | | | | | | | | | | | | | | | | | | | | 209cd475 Help: Add notes for topic 'cmake-gui-capture-output' d7c69246 execute_process: Send stderr through cmSystemTools::Stderr 92ddf0c9 cmake-gui: Capture cmSystemTools::Stdout and Stderr f52b5ae3 cmSystemTools: Add callback for Stderr a9ae1d7a cmSystemTools: Simplify InterruptCallback definition 73b13f56 cmSystemTools: Rename ErrorCallback to MessageCallback 7577a542 cmCTestBuildAndTestHandler: Refactor output capture b1b4d761 cmCTestBuildAndTestHandler: Refactor local loop var
| * cmSystemTools: Add callback for StderrBrad King2014-05-151-2/+4
| | | | | | | | | | | | | | | | | | Factor a common callback type out of StdoutCallback. Add an equivalent StderrCallback. While at it, use "size_t" for the data length instead of "int". Teach "ctest --build-and-test" to capture the Stderr callback because output sent through it is part of the logical CMake process output.
| * cmSystemTools: Rename ErrorCallback to MessageCallbackBrad King2014-05-151-2/+2
| | | | | | | | | | Clarify that it is the callback for the cmSystemTools::Message API. Rename callback clients too.
| * cmCTestBuildAndTestHandler: Refactor output captureBrad King2014-05-151-19/+22
| | | | | | | | Use an RAII class to add and remove callbacks.
| * cmCTestBuildAndTestHandler: Refactor local loop varBrad King2014-05-151-3/+2
| |
* | Merge topic 'fix_mumps_coverage'Brad King2014-05-162-4/+32
|\ \ | |/ |/| | | | | 9ad07fbe CTest: Fix MUMPS coverage parsing and test
| * CTest: Fix MUMPS coverage parsing and testJoseph Snyder2014-05-162-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the MUMPS coverage parser: * Account for tabs after entry points * Stop double incrementing lines that have explicit calls to the 0 line * If a line has been previously marked as non executable, but then contains a count, increment it an extra one to push it back into the executable code set. Add a custom routine and corresponding coverage files in the test case. This file is smaller and has cmcov/mcov files that have data for only that routine.
* | Merge topic 'ctest-bad-generator'Brad King2014-05-081-0/+9
|\ \ | |/ |/| | | | | 54111286 ctest_build: Do not crash on bad generator name
| * ctest_build: Do not crash on bad generator nameBrad King2014-05-071-0/+9
| | | | | | | | | | | | | | | | | | | | If creation of the global generator fails, return early with an error message instead of trying to use the generator and crashing. Add a CTestTestBadGenerator test to cover this case. Reported-by: Mathieu Malaterre <malat@debian.org> Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747306