Commit Graph

877 Commits

Author SHA1 Message Date
Rolf Eike Beer 6187876dea CTest: fix pre and post test commands with spaces
If the pre or post memcheck or test commands have spaces in the path these
were never escaped, leading to broken commands. This was not covered in the
test suite so it went unnoticed.
2012-10-01 17:39:09 +02:00
Rolf Eike Beer 95bc8aa6c4 CTest: fix usage of memory checker with spaces in path
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.
2012-10-01 17:39:09 +02:00
Nils Gladitz 9ace801578 ctest_update: Tell svn not to prompt interactively (#13024)
While at it, add SVNOptions/CTEST_SVN_OPTIONS configuration settings to
add options to all svn invocations instead of just "svn update".
2012-09-25 13:36:47 -04:00
Xavier Besseron 57234dd10a cmCTestSVN: Load and process information from externals
Call LoadExternals() and perform operations on all elements of the
Repositories list.
2012-09-04 08:35:36 -04:00
Xavier Besseron 3776690e62 cmCTestSVN: Add a LoadExternal() function and an ExternalParser class
This call 'svn status' and parse the result to get the list of externals
repositories.  The external repositories found are added to the
Repositories list.
2012-09-04 08:35:36 -04:00
Xavier Besseron 41f0f83542 cmCTestSVN: Use the SVNInfo structure
- Suppress the URL, Root, Base fields from the cmCTestSVN class
- Update the code to use RootInfo instead
- LoadInfo(), GuessBase(), and a new LoadRevision() functions work on a given SVNInfo
- Use the implementation from the base class for LocalPath(), correct path is built by SVNInfo::BuildLocalPath() instead
2012-09-04 08:35:35 -04:00
Xavier Besseron fb6d513692 cmCTestSVN: Create the SVNInfo for the root repository 2012-09-04 08:35:35 -04:00
Xavier Besseron 8d1e10296a cmCTestSVN: Add the Repositories list and the RootInfo pointer
The Repository list will contain the SVNInfo of all the repositories
(root and external ones).  The RootInfo pointer will point to the
SVNInfo structure of the root repository.
2012-09-04 08:35:35 -04:00
Xavier Besseron 2f204bc176 cmCTestSVN: Extend Revision struct with SVN repo information
Also rename DoRevision to DoRevisionSVN since the signature changes.
2012-09-04 08:35:35 -04:00
Xavier Besseron aa1076f460 cmCTestSVN: Add the new SVNInfo structure
It represents information of an SVN repository. It can be the base
repository or an external one.
2012-09-03 10:38:51 -04:00
Kitware Robot 7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
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/ \+$//'
2012-08-13 14:18:39 -04:00
David Cole 93d084c180 CTest: Extend -D command line arg handling for variable definitions
If the argument following -D is not a valid dashboard type string,
then try to parse it as a "var:type=value" string just like cmake
already does.
2012-06-24 08:03:24 -04:00
David Cole 91d945a4e9 Remove unused ivars to eliminate compiler warnings 2012-06-20 17:44:10 -04:00
David Cole 8e9101a0cb Merge topic 'mumps_coverage'
c806b23 CDash now supports lots of files in coverage. So, show all files.
761d931 Do not try to run bullseye coverage if COVFILE env is empty.
5b69ce4 Update test data to match new coverage format.
1b418f1 Change GT.M Coverage Parser global
b0c07a1 Disable bullseye coverage for mumps coverage test.
0a169e6 Remove uncovered files from cache coverage data.
a7abf5e Add ability to specify more than one package directory or coverage directory.
220afca Use <TARGET_FILE> expression to run ctest so it works with Xcode and VS IDE.
62f6bce Use a script to run the test because WORKING_DIRECTORY is not in 2.8.2.
f5c5db0 Fix some warnings and a bug where it went past the length of a vector.
7955e99 Add support for Cache coverage.
a86cd33 Add virutal destructor to silence warning.
319eeb0 Add test for mumps coverage. Also refactor code to prepare for cache coverage.
72210c2 Fix line length.
dd07161 Fix warning about char* instead of const char*.
e6412e0 Add support to ctest for GTM mumps coverage.
2012-05-17 14:58:54 -04:00
Bill Hoffman c806b23cfe CDash now supports lots of files in coverage. So, show all files.
Prior to this commit the mumps coverage only showed files that
had at least one line of coverage. Now 0% covered files are shown
as well.
2012-05-11 15:22:25 -04:00
Bill Hoffman 761d93129f Do not try to run bullseye coverage if COVFILE env is empty. 2012-05-08 14:47:13 -04:00
Joseph Snyder 1b418f1fbf Change GT.M Coverage Parser global
The coverage global should be in the local namespace.  This means the global
will be ^ZZCOVERAGE instead of ^COVERAGE.  Change the parser to look for ^ZZCOVERAGE
instead of the old ^COVERAGE
2012-05-07 15:29:52 -04:00
David Cole 56f499dcef CTest: Modify reg ex so it also works with gcov 4.7 output (#13121) 2012-05-03 17:08:19 -04:00
Bill Hoffman 0a169e628b Remove uncovered files from cache coverage data.
Cache coverage data currently contains files with 0 coverage
on each line. This change will remove those files from the coverage
sent to CDash.
2012-05-02 17:23:01 -04:00
Bill Hoffman a7abf5e090 Add ability to specify more than one package directory or coverage directory. 2012-05-02 16:47:24 -04:00
Bill Hoffman f5c5db0753 Fix some warnings and a bug where it went past the length of a vector.
Fix a kwstyle warning and an unused variable warning. Also fix a case
where it could crash because a vector was referenced passed its
end.
2012-05-01 17:32:23 -04:00
Bill Hoffman 7955e995ec Add support for Cache coverage.
This adds support for Cache coverage parsing. A test is added
that does a basic run of the coverage on a small bit of data.
2012-05-01 17:00:43 -04:00
Bill Hoffman a86cd33cdd Add virutal destructor to silence warning. 2012-05-01 14:36:18 -04:00
David Cole c75f404065 Merge topic 'kwsys-environ-cleanup'
e48796b KWSys: Fix SystemTools environment memory handling (#13156)
b10c5cb CTest: Simplify environment save/restore
2012-05-01 14:09:12 -04:00
David Cole 2d8e2daffe Merge topic 'ctest_memcheck-xml-encoding'
3da577d CTest: Escape MemCheck test output for XML (#13124)
2012-05-01 14:08:25 -04:00
Bill Hoffman 319eeb0247 Add test for mumps coverage. Also refactor code to prepare for cache coverage.
Add a simple test to make sure the GTM mumps coverage is working.
Also refactor the code so that cache coverage can be added.
2012-05-01 13:35:07 -04:00
Brad King 3da577dec0 CTest: Escape MemCheck test output for XML (#13124)
Any output that goes through CleanTestOutput must be printed through
cmXMLSafe.
2012-04-26 15:49:29 -04:00
Bill Hoffman 72210c2662 Fix line length. 2012-04-26 08:33:27 -04:00
Bill Hoffman dd07161c51 Fix warning about char* instead of const char*. 2012-04-26 08:30:13 -04:00
Bill Hoffman e6412e084e Add support to ctest for GTM mumps coverage. 2012-04-25 17:04:28 -04:00
Brad King b10c5cbb87 CTest: Simplify environment save/restore
Replace use of AppendEnv/RestoreEnv pairs with instances of
SaveRestoreEnvironment.  Simplify the signature of AppendEnv and use it
in place of similar loops elsewhere.  Move the RestoreEnv implementation
inside the SaveRestoreEnvironment destructor which is the only place
left that calls it.
2012-04-24 16:56:14 -04:00
Brad King 3247d63abb ctest_coverage: Save/restore LC_ALL around gcov (#13136)
Commit ffbe61bb (make sure english is used for output of gcov, 2008-05-10)
taught ctest_coverage to set LC_ALL=POSIX to get English output from gcov.
Use the more portable value LC_ALL=C and restore the original value when
finished.
2012-04-16 08:48:16 -04:00
Brad King b96424012d Merge topic 'ctest-match-valgrind'
ea4416c CTest: Match valgrind errors with "points to" (#12922)
2012-03-13 11:53:38 -04:00
Alexandru Ciobanu ea4416cf7b CTest: Match valgrind errors with "points to" (#12922)
Teach CTest to match valgrind errors of the format
"Syscall param ... points to uninitialised byte(s)".
2012-03-09 09:32:28 -05:00
Alexandru Ciobanu c7da50da52 CTest: Detect Xcode error "Command ... failed with exit code" 2012-03-09 07:59:56 -05:00
Yury G. Kudryashov 737c49a357 Add 'const' qualifier to some cmCommand members
Use const_cast for the special case in cmFindBase where
GetFullDocumentation calls GenerateDocumentation.
2012-02-29 13:27:04 -05:00
Rolf Eike Beer 58d75e22ae CTest: mark all gcov covered files as covered
Even if there are no lines covered in the file the gcov coverage report still
contains valueable information, the amount of uncovered lines and which exactly
they are. Set 'Covered="true"' for files we have a gcov report for even if they
have no lines covered. Otherwise CDash will neither show the uncovered line
count nor the detailed coverage report for this file.

When CTEST_EXTRA_COVERAGE_GLOB was used to collect otherwise uncovered files
'Covered="true"' was unconditionally set, so this can't be worse here.
2012-02-15 21:45:30 +01:00
Brad King 56f29f48c2 CTest: Recognize Intel errors without space before colon (#12627)
Fix the regex meant to match errors of the form:

 C:\some\dir\source.cpp(17): catastrophic error: could not open source file "some_header.h"

to make the space between ')' and ':' optional.
2011-12-15 09:31:12 -05:00
David Cole bd216ef63a Merge topic 'some-documentation-fixes'
ceff6ec ccmake: Factor toggle key help instructions.
19da106 ccmake: Document '/' key.
fd63219 ccmake: Align 'g' and 'q' key instructions.
bfb0ed4 Usage: Add missing exepath argument in get_prerequisites documentation.
de51264 Usage: Print help, version and copyright options in usage information.
9ae0604 Usage: Document all options printing the version number.
3353d84 Usage: Document all options printing usage information.
1b612ca Usage: Document -j|--parallel option in help message.
6be15ed Doxygen: Remove dependency on VTK when building doxygen.
a92f14f Doxygen: Fix warnings.
faede37 Doxygen: Generate call graph and relationships.
dd13ecd Doxygen: Improve code documentation.
d0b3a7f Fix typo.
d3d7e45 Remove trailing white-spaces.
2011-10-25 15:34:26 -04:00
Nicolas Despres a92f14f338 Doxygen: Fix warnings. 2011-10-23 22:18:08 +02:00
Nicolas Despres d3d7e45df2 Remove trailing white-spaces. 2011-10-23 22:15:20 +02:00
David Cole 2f309cba45 CTest: Add COVERAGE_EXTRA_FLAGS cache variable (#12490)
COVERAGE_EXTRA_FLAGS is a space separated value of extra flags
that will be passed to gcov when ctest's coverage handler invokes
gcov to do coverage analysis.

Map to CoverageExtraFlags in the CTest ini file. Use default value
of "-l" to match the coverage handler's earlier behavior from ctest
2.8.4 and earlier. The fix for related issue #11717 had added a " -p"
which was the cause of both #12415 and #12490. Here, we revert that
change to the default value, so -p is no longer there by default.
The people that care to add -p may do so in their own build trees
by appending " -p" to the new cache variable COVERAGE_EXTRA_FLAGS.
2011-10-22 11:01:58 -04:00
David Cole 7041cd6a88 CTest: Fix crash when variables are not defined
Avoiding dereference of NULL pointers is always good.
2011-10-14 07:46:01 -04:00
David Cole 05bc6bfb87 Merge topic 'fix-12260-fix-valgrind-output-parsing'
eb4af16 CTest: Fixed valgrind output parsing (#12260)
2011-09-07 15:38:32 -04:00
Johannes Stallkamp eb4af16298 CTest: Fixed valgrind output parsing (#12260)
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.
2011-09-05 14:31:08 -04:00
Thomas Jarosch f47393c66b CTest: Fix memory leaks on error
Credit goes to "cppcheck".

Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
2011-09-02 11:15:11 -04:00
David Cole 4575ed9e2a Fix line too long style violation 2011-08-03 11:37:59 -04:00
David Cole ba4886b717 CTest: print failed tests in index order (#11746)
This deterministic ordering makes it easier for a developer
comparing the ctest output of two test runs to see what changed
from run to run.

Thanks to Fraser Hutchison for the patch.
2011-08-03 10:48:43 -04:00
Johan Björk 856a9e499f RunSingleCommand: Replace verbose boolean with enum
No behaviour change, this prepares for adding a flag to skip the merging
of output streams.
2011-07-28 10:42:03 -04:00
Brad King a4ec24269b CTest: Report tests not run due to unknown configuration
When add_test(NAME) is called without the CONFIGURATIONS argument then
the test is intended to run in any configuration.  In multi-config
generators like the VS IDE and Xcode tests created by add_test(NAME) can
only be run when testing a known configuration (otherwise there is no
way to generate the test command line).  If no test command line is
known for a particular configuration, or if no configuration is given to
ctest, report the test as not run instead of silently skipping it.

Also fix CMake's own TestsWorkingDirectory test invocation to correct a
previously silent failure exposed by this change.
2011-06-10 09:52:18 -04:00