summaryrefslogtreecommitdiffstats
path: root/Source/CTest
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | CTest: Add support for Intel coverage filesVolkan Gezer2014-03-132-0/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, Intel compiler coverage tools generate HTML files as reports, but the option -txtlcov can be given to codecov to output a coverage file with LCov format. To use Intel coverage: * build the project with coverage flags * run the application * run profmerge * run codecov The output file will be "build_dir/CodeCoverage/SRCFILEDIR.LCOV". Ask users to compile with -prof-dir${BUILD_DIR} instead of searching the entire build tree recursively to find coverage files.
* | Merge topic 'remove-c_str-calls'Brad King2014-03-1222-163/+163
|\ \ | | | | | | | | | | | | | | | | | | 3be265b3 Workaround Sun C++ 5.9 compiler crash af8a1643 Remove c_str calls when using stream APIs. 21c573f6 Remove some c_str() calls.
| * | Remove c_str calls when using stream APIs.Stephen Kelly2014-03-1114-116/+116
| | | | | | | | | | | | | | | Use an ad-hoc clang tool for matching the calls which should be ported.
| * | Remove some c_str() calls.Stephen Kelly2014-03-1115-47/+47
| | | | | | | | | | | | | | | | | | Use the clang RemoveCStrCalls tool to automatically migrate the code. This was only run on linux, so does not have any positive or negative effect on other platforms.
* | | CTest: Teach ctest_coverage() to read CTEST_COVERAGE_EXTRA_FLAGSVolkan Gezer2014-03-101-1/+2
|/ / | | | | | | | | Use it to set the CoverageExtraFlags value just as COVERAGE_EXTRA_FLAGS does in the CTest module for creating DartConfiguration.tcl.
* | stringapi: Command namesBen Boeckel2014-03-0814-17/+17
| |
* | stringapi: Use strings for generator namesBen Boeckel2014-03-081-2/+1
| |
* | stringapi: Miscellaneous char* parametersBen Boeckel2014-03-087-63/+57
| |
* | strings: Remove cmStdString referencesBen Boeckel2014-03-0836-217/+217
| | | | | | | | | | | | | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* | stringapi: Use strings in target nameBen Boeckel2014-03-081-1/+2
| |
* | stringapi: Use strings for variable namesBen Boeckel2014-03-082-14/+6
| | | | | | | | Variable names are always generated by CMake and should never be NULL.
* | CTest: notify user if gcov cannot be foundZack Galbreath2014-02-281-0/+6
|/ | | | | Emit an error message when we're performing coverage using gcov and the gcov executable cannot be found.
* CTest: exclude /showIncludes notes when scraping logsNils Gladitz2014-02-252-2/+18
| | | | | | | | My last related commit e5e3f3d4 (CTest: filter /showIncludes output from ninja compile launcher, 2013-12-01) filtered /showIncludes messages from the generated xml output but they also need to be filtered in ScrapeLog(). Otherwise they are being detected as warnings when using compilers withs english diagnostics.
* Kate: handle spaces in build dirAlex Neundorf2014-02-171-1/+0
| | | | | | | | They need to be escaped in the json file... I'm quite sure I tested this before, obviously I didn't test it correctly. Alex
* ctest_update: Handle P4 unknown revisions more robustlyPedro Navarro2014-01-221-26/+35
| | | | | | Mark unknown revisions as such and fail instead of reporting revision 0. Otherwise CTest reports massive file updates between revisions when the server timeouts while trying to fetch the current revision number.
* allow to mark a test as "Not Run" with a specific return code (#8466)Rolf Eike Beer2014-01-143-1/+18
|
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-0718-64/+76
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.