summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestMemCheckHandler.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ctest_memcheck: Add support for MemorySanitizer msanBill Hoffman2014-10-071-0/+22
|
* ctest_memcheck: Add support for UndefinedBehaviorSanitizer ubsanBen Boeckel2014-10-071-1/+22
| | | | | UBSan instruments a build and logs messages on any undefined behavior instances.
* ctest_memcheck: Order sanitizer type code consistentlyBrad King2014-10-071-22/+24
| | | | Use alphabetic order everywhere we enumerate the sanitizer types.
* ctest: add support for additional sanitizer optionsBen Boeckel2014-10-031-5/+11
| | | | | Sanitizers receive options through their environment variable; support user-specified options here.
* 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.
* Handle more than one process with sanitizer errors.Bill Hoffman2014-07-241-9/+18
| | | | | | 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.
* 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-161-11/+63
| | | | | | 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-091-133/+306
| | | | | | | | | 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.
* cmCTestMemCheckHandler: Fix coding style in this classBill Hoffman2014-06-251-6/+6
| | | | | This class had a method that started with lower case, and also was called without this->.
* 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.
* Remove c_str calls when using stream APIs.Stephen Kelly2014-03-111-8/+8
| | | | | Use an ad-hoc clang tool for matching the calls which should be ported.
* stringapi: Miscellaneous char* parametersBen Boeckel2014-03-081-12/+6
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-17/+17
| | | | | | | | | | | 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.
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-2/+3
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
* CTest: create one output file per memcheck (#14303)Rolf Eike Beer2013-08-071-31/+70
| | | | | | The output file used for memory checker runs must be unique for every test run in parallel, so simply make them unique for every test run. Simply use the test index to avoid collisions.
* CTest: fix comment documenting cmBoundsCheckerParser classRolf Eike Beer2013-05-091-2/+1
| | | | | This was obviously copied from Source/cmGlobalXCodeGenerator.cxx during implementation but the comment was forgotten.
* CTest: drop suppression for gcc 2.9.6 errors from default Valgrind flagsRolf Eike Beer2013-05-091-1/+0
| | | | | | | | | | | The --workaround-gcc296-bugs has been part of the default Valgrind flags since Valgrind support was added in commit 5b232ded151fc22144978b74cdaf7031d466e527 (ENH: Add initial memory check support which works for Valgrind, 2003-12-15). The Valgrind manpage says that this option should be avoided if not really needed as it may cause real errors to get ignored. If someone uses a compiler that really needs the flag this flag should be set by the user explicitely. Most users will never set any flags and probably never notice that they use a flag they shouldn't.
* CTest: remove unreachable code and CTestTestMemcheckUnknown testRolf Eike Beer2013-05-091-7/+0
| | | | | | | The memory checker command can't be quoted at this point, because previously it has been tested that the given file exists, which will fail if the name is quoted. The CTestTestMemcheckUnknown test aimed to test this case, has always failed to do so and serves no useful purpose therefore.
* CTest: use an output file for Valgrind (#14110)Rolf Eike Beer2013-05-091-0/+20
| | | | | This makes sure Valgrind output will not screw up tests that match on the output.
* CTest: improve memory checker type detectionRolf Eike Beer2012-10-041-69/+89
| | | | | | | If the checker was explicitely set with a "TypeCommand" variable (e.g. ValgrindCommand) then we now just believe that this is valgrind, even if nothing in the path matches "valgrind". Only when "MemoryCheckCommand" was used we still scan the path to find out what checker we have.
* CTest: fix usage of memory checker with spaces in pathRolf Eike Beer2012-10-011-9/+6
| | | | | | | | | The filename was escaped in cmCTestMemCheckHandler::InitializeMemoryChecking() and again before it was written to output in cmCTestRunTest::ComputeArguments(). Once someone uses e.g. a valgrind path with spaces this leads to double escaping making the memory checker fail completely because of the invalid path.
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-20/+20
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* CTest: Escape MemCheck test output for XML (#13124)Brad King2012-04-261-1/+1
| | | | | Any output that goes through CleanTestOutput must be printed through cmXMLSafe.
* CTest: Match valgrind errors with "points to" (#12922)Alexandru Ciobanu2012-03-091-1/+1
| | | | | Teach CTest to match valgrind errors of the format "Syscall param ... points to uninitialised byte(s)".
* CTest: Fixed valgrind output parsing (#12260)Johannes Stallkamp2011-09-051-12/+12
| | | | | | Previous code was missing some matches in the output. This commit fixes the regular expressions used for output matching to detect numbers reported with commas in them, too.
* We will actually compress memcheck output if the server supports it.Zach Mullen2011-05-261-1/+13
| | | | | This change won't be functional until the next release of CDash due to the version comparison.
* CTest: Avoid use of old EscapeSpaces methodBrad King2010-08-181-34/+34
| | | | | | | | Refactor how cmCTestMemCheckHandler computes the memory tester command line options to avoid encoding them in a single string just to parse them again. The EscapeSpaces uses backslahes to escape spaces on UNIX platforms, so replace other calls to it in CTest that are used to create human-readable strings with simple double-quoting.
* fix number of callers to work with newer versions of valgrindBill Hoffman2009-11-111-1/+1
|
* Fix bug#9767 catch missing leak.Bill Hoffman2009-10-291-2/+10
|
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* MemCheck should now work again in ctestZach Mullen2009-08-281-24/+2
|
* Added ctest -N test. Fixed ctest working directory bug. MemCheck fix ↵Zach Mullen2009-08-281-1/+1
| | | | coming soon...
* BUG: fix for bug #8153 add purify suppression file and fix output to not be ↵Bill Hoffman2009-05-271-0/+17
| | | | one big line
* ENH: Create cmXMLSafe to help escapes in XMLBrad King2009-02-051-7/+8
| | | | | | | This class provides easy syntax to efficiently insert blocks of data into XML documents with proper escapes. It replaces the old cmCTest::MakeXMLSafe and cmSystemTools::MakeXMLSafe methods which allocated extra memory instead of directly streaming the data.
* ENH: Put test labels in MemCheck resultsBrad King2009-02-021-26/+4
| | | | | | | This refactors generation of <Test> element headers and footers in cmCTestTestHandler and re-uses it in cmCTestMemCheckHandler. The change removes duplicate code and enables the new <Labels> element for MemCheck results.
* ENH: Teach ctest_* to create appending XML filesBrad King2009-01-121-1/+1
| | | | | This adds an APPEND option to the ctest_* commands which tells them to put the Append="true" attribute in the Site element of their XML file.
* ENH: enhancements for cdash, include system information and better time entriesBill Hoffman2008-01-301-1/+4
|
* ENH: fix output and valgrind truncation issueBill Hoffman2007-08-101-11/+15
|
* ENH: add another valgrind error typeBill Hoffman2007-08-031-0/+5
|
* STYLE: fix some kwstyle errorsBill Hoffman2007-07-271-5/+10
|
* ENH: add test output to valgrind output and truncate output for valgrindBill Hoffman2007-07-261-3/+42
|
* ENH: add support for bounds checkerBill Hoffman2007-07-241-34/+291
|
* BUG: Replace some errors with warningsAndy Cedilnik2006-10-131-1/+1
|
* ENH: add support for win64 for visual studio 2005 ide and nmake, also fix ↵Bill Hoffman2006-03-301-3/+3
| | | | warnings produced by building for win64
* ENH: Several cleanups and make sure things get propagated where they should. ↵Andy Cedilnik2006-03-291-3/+3
| | | | Also, allow to load CTest custom files to the actual ctest -S script
* BUG: Couple of memcheck bugs: Log files should really be different for test ↵Andy Cedilnik2006-03-161-0/+4
| | | | and memcheck. Also make sure to not trunkate the output of the test until the valgrind or any other checking is pefrormed.
* STYLE: Fix some style issuesAndy Cedilnik2006-03-101-109/+117
|
* STYLE: Fix some style issuesAndy Cedilnik2006-03-091-72/+148
|
* ENH: Add superclass for all commands and handlers. Improve handlers to have ↵Andy Cedilnik2005-06-171-0/+17
| | | | initialization code, and start initializing ctest when start is invoked