| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The dummy memcheck tools we build for the RunCMake.CTestMemcheck tests
require CMakeLib, so put them in a Tests/CMakeLib/PseudoMemcheck
directory.
|
|
|
|
|
|
|
|
| |
The CTestTestMemcheck test cases all try to check the ctest output with
a regular expression. They fail intermittently due to ordering of the
portions of the output that come from stdout and stderr being mixed.
Convert all the test cases to use the RunCMake infrastructure to match
stdout and stderr separately.
|
| |
|
| |
|
|
|
|
| |
Update some whitespace and add comment dividers.
|
|
|
|
| |
Prior to this, these options were just being set in the environment.
|
|\
| |
| |
| |
| | |
f7d62cac Fix leak and address sanitizer tests to be able to run with real tools.
|
| |
| |
| |
| |
| |
| |
| | |
When running CMake under Leak or Address Sanitizer tools, the fake reporting
would get picked up by the outer CMake and reported as leaks and address
failures on the CMake dashboard. This commit makes sure the test only
reports simulated errors when asked to.
|
|/ |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Add the PRE_BUILD step to all targets that need it so the output
directories get created no matter which target is built first.
|
| |
|
|
|
|
|
|
| |
In commit 10bc50ea (Tests: ignore Guard Malloc messages in MemChecker
tests, 2013-05-13) we forgot to escape backslashes in the CMake language
to get them into the regex. Add them now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor generation of PASS_REGULAR_EXPRESSION for tests
CTestTestMemcheckDummyPurify
CTestTestMemcheckDummyValgrind
CTestTestMemcheckDummyValgrindPrePost
CTestTestMemcheckDummyValgrindIgnoreMemcheck
Avoid duplicating the normal ctest output matching expression. Use
literal newlines instead of "\n" to improve readability. Integrate
matching of guard-malloc lines at the end of the output with expressions
matching tool output like lines for BullseyeCoverage.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This reverts commit 6187876dea89618044e200808bcae75a18bd4043.
It was actually possible before to have paths with spaces in them, the spaces
just need to be quoted. This way spaces will work as argument separators.
|
|\
| |
| |
| |
| | |
Resolve conflicts in Tests/CTestTestMemcheck/CMakeLists.txt by combining
changes from both sides.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
All supported memory checkers now write their output to a file. Use a dummy
checker that ignores the given filename and ensure that the missing file is
reported as error.
|
| |
| |
| |
| |
| |
| | |
The code for the tests is basically the same for all those subtests, so have
one template and configure that for as many tests as possible to make it
easier maintainable.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
The dummy memory tester implementation now understands the command line
switches for all memory checkers to redirect the output to a file. This avoids
triggering the error cases for BoundsChecker and Purify because the output file
does not exist.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Checkout [1] as an example of the test failures. In that particular cases, the
failures is caused by the plus sign in the path being pass unescaped
(buildd-cmake_2.8.9-1~bpo60+1-armel-3Lvkef) to the regexp.
In addition to failures in the log, the following new tests also fail in 2.8.11:
243 - CTestTestMemcheckUnknown (Failed)
244 - CTestTestMemcheckUnknownQuoted (Failed)
248 - CTestTestMemcheckDummyValgrindFailPre (Failed)
249 - CTestTestMemcheckDummyValgrindFailPost (Failed)
250 - CTestTestMemcheckDummyPurify (Failed)
251 - CTestTestMemcheckDummyBC (Failed)
253 - CMake.List (Failed)
[1] https://buildd.debian.org/status/fetch.php?pkg=cmake&arch=armel&ver=2.8.9-1~bpo60%2B1&stamp=1369243896
|
| |
|
| |
|
|
|