Commit Graph

828 Commits

Author SHA1 Message Date
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
Bill Hoffman dd52fc309d Fix a memory leak. 2011-06-06 16:41:17 -04:00
Zach Mullen 9c3a0b9f14 We will actually compress memcheck output if the server supports it.
This change won't be functional until the next release of CDash due to the
version comparison.
2011-05-26 14:50:07 -04:00
Zach Mullen 8024c53389 Dynamic analysis test output should not be compressed. 2011-04-29 12:12:26 -04:00
Brad King fff3a742b2 Merge topic 'upload-built-files'
3e32db7 cmCTestUploadCommand::CheckArgumentKeyword should return false if not FILES
6b6f309 Add the FILES keyword to ctest_upload command
28cdd0a Don't tar/gz ctest_upload() files
fbe4356 Change 'Files' tag to 'Upload' in Upload.xml
350546d Implement ctest_upload command
2011-04-05 14:28:38 -04:00
Zach Mullen 3e32db7921 cmCTestUploadCommand::CheckArgumentKeyword should return false if not FILES 2011-03-31 14:41:19 -04:00
Rolf Eike Beer fcf3208ac1 CTest: catch warning output of Apache Maven
Some samples of things that got unnoticed by our nightly builds:

$ JAVA_HOME= mvn
Warning: JAVA_HOME environment variable is not set.
...

$ mvn
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
...
2011-03-18 09:08:33 -04:00
Zach Mullen 6b6f309c5f Add the FILES keyword to ctest_upload command 2011-03-15 15:07:37 -04:00
Zach Mullen 28cdd0a5be Don't tar/gz ctest_upload() files 2011-03-15 15:07:37 -04:00
Zach Mullen fbe435652d Change 'Files' tag to 'Upload' in Upload.xml 2011-03-15 15:07:37 -04:00
Zach Mullen 350546db3a Implement ctest_upload command 2011-03-15 15:07:37 -04:00
Brad King 0554e5e50f Merge topic 'ctest-remove-trailing-whitespace'
a1711f1 Remove trailing whitespace
2011-03-15 14:47:57 -04:00
Brad King a1711f1c6b Remove trailing whitespace 2011-03-11 08:04:58 -05:00
Brad King 732af7fbba CTest: Do not fail with submodules and Git < 1.6.5.0
Several major Linux distributions still do not provide Git >= 1.6.5.0 in
their stable package lists.  Prior to commit 1173cc4a (Update Git
submodules with --recursive, 2011-02-22) CTest was able to use older Git
versions but simply silently failed to update submodules recursively.
Instead of failing with older Git versions preserve the status quo and
add a warning in the update log.  Users testing projects with recursive
submodules may simply update to a Git new enough to support them.
2011-03-10 13:57:30 -05:00
Brad King 1173cc4ab2 CTest: Update Git submodules with --recursive
Fail if submodules exist and the git version is less than 1.6.5.0.

Inspired-by: Johan Björk <phb@spotify.com>
2011-02-22 15:47:50 -05:00
Brad King 6dc8c25226 Merge topic 'fix-11877-sort-tests-correctly'
8af8eab Use stable_sort to preserve test order ()
2011-02-22 14:32:43 -05:00
David Cole 8af8eab7a4 Use stable_sort to preserve test order ()
Using sort results in a possibly-modified sorting
when all elements are "tied" - use stable_sort instead
to preserve the original ordering of tied elements.
2011-02-18 13:10:26 -05:00
Marco Craveiro 6e02a3b2bf CTest: Use the gcov --preserve-paths flag ()
To avoid name clashes.

Before this commit, name clashes can occur when invoking gcov on a
project that uses the same file name in different directories. The
--preserve-paths flag ensures all file names have a complete path,
avoiding name clashes.
2011-02-09 16:04:15 -05:00
Brad King 3ef8929ee6 Merge topic 'ctest-launch-empty-rule'
6228abe CTest: Teach launcher to ignore empty/no-op make commands
2011-01-11 15:53:28 -05:00
Brad King 984ca06a8e Merge topic 'improve-build-error-detection'
89eb4bf Improve build error detection.
2011-01-11 15:49:29 -05:00
Brad King 333e707d95 Merge topic 'fix-test-output-truncation'
e73bf1c CTest: Do not truncate UTF-8 test output too early ()
2011-01-11 15:49:04 -05:00
Chuck Atkins 6228abed9b CTest: Teach launcher to ignore empty/no-op make commands 2011-01-10 10:17:13 -05:00
David Cole 89eb4bf356 Improve build error detection.
Some were missed recently on a failed dashboard build
of ccmake on an HP-UX machine.
2011-01-05 16:13:55 -05:00
Brad King d04e10dd7e Merge topic 'negative-test-costs'
6b0c7de Support explicitly set test costs in non-parallel testing.
2011-01-04 15:46:16 -05:00
Brad King e73bf1c384 CTest: Do not truncate UTF-8 test output too early ()
Since commit e4beefeb (CTest: Do not munge UTF-8 output in XML files,
2009-12-08) we validate UTF-8 encoding of build and test output as it is
written to XML files.  However, in cmCTestTestHandler::CleanTestOutput
we still processed test output one byte at a time and did not recognize
multi-byte UTF-8 characters.  Presence of such characters caused early
truncation.

Teach CleanTestOutput to truncate test output at the limit but without
cutting it in the middle of a multi-byte encoding.  Also, stop avoiding
truncation in the middle of an XML tag like "<MyElement>" because the
'<' and '>' will be properly escaped in the generated XML anyway.
2011-01-04 13:20:49 -05:00
Zach Mullen 51bb493574 Test TIMEOUT property explicitly set to zero should be honored 2011-01-03 14:41:25 -05:00
Zach Mullen 6b0c7ded57 Support explicitly set test costs in non-parallel testing. 2011-01-03 11:25:46 -05:00
Brad King 97c5171d6c Merge topic 'dev/add_test-working-directory'
667a90a Fix sentence break in add_test documentation
96309fc Make TestsWorkingDirectory test a C file
a4a5e37 Use iostream to make Borland happy
cfe53cd Fully specify the path to old-signature add_test
017d4e9 Group adding tests with its properties
561cc33 Only test the default cwd with Makefiles
d87bae7 Simplify the _default_cwd derivation
992c74f Use --><-- markers to denote the path
5249551 Flip slashes around on Windows
0a014da Add ctype.h include for toupper()
af12f83 Fix header includes for C++ and Visual Studio
5597aa2 Rename the project to match the test
9bf4165 Add tests for WORKING_DIRECTORY arg to add_test
42de5d0 Add WORKING_DIRECTORY argument to add_test
7679f9f Rename WorkingDirectory test
d95f817 Add the WORKING_DIRECTORY property to tests
2010-12-28 15:25:49 -05:00
Brad King ea38628366 Merge topic 'ctest-git-send-committer'
5992526 CTest: Factor out duplicate Git author/committer code
307b8a6 CTest git update should pass the committer as well as the author
2010-12-21 14:02:39 -05:00
Brad King c85b8189cf Merge topic 'fix-11487-multiple-test-calls'
744366f CTest: multiple ctest_test calls w/LABEL regexs ()
2010-12-21 14:00:56 -05:00
Brad King 5992526482 CTest: Factor out duplicate Git author/committer code
Factor out date/time format code into FormatDateTime function instead of
duplicating it.
2010-12-20 17:16:25 -05:00
Zach Mullen 307b8a6e69 CTest git update should pass the committer as well as the author 2010-12-20 16:05:40 -05:00
Clinton Stimpson 744366fc0b CTest: multiple ctest_test calls w/LABEL regexs ()
The Initialize method was not re-initializing everything
that it should have been. This commit fixes that.
2010-12-17 17:30:13 -05:00
Rolf Eike Beer d95f817f77 Add the WORKING_DIRECTORY property to tests 2010-12-16 16:23:18 -05:00
Brad King 1f7133cd61 CTest: Fix line-too-long style in DEPEND cycle error 2010-12-16 08:07:43 -05:00
Brad King f48d3bc5ba CTest: Fix test DEPEND cycle detection
A cycle exists when the DFS returns to the root node, not just when
multiple paths lead to the same node.

Inspired-By: Alexander Esilevich <aesilevich@pathscale.com>
2010-12-15 16:49:34 -05:00
Brad King 7145ca67fc CTest: Fix ctest_sleep documentation ()
Document behavior consistently with the implementation.
2010-12-09 10:37:28 -05:00
Zach Mullen 13f24540ad Remove debugging message from parallel ctest 2010-12-01 11:28:23 -05:00
Bill Hoffman 3f94c7cc39 When processing DartMeasurements use the tests working directory.
Restore CMake 2.6 behavoir where the dart processing apparently was run from within the tests directory instead of the root of the build tree. This addresses issue reported on the VTK Dashboard where the Testing/Temporary directory is defined as ../../../Testing/Temporary but the DartProcessing is run with respect to the root of the build tree. This causes the regression/difference images to not be located by ctest and thus not uploaded to the dashboard.
2010-10-19 16:15:32 -04:00
Zach Mullen 32242affea Added CTest command --print-labels
This command allows a user to quickly see the list of all available
test labels.  The labels are also printed in verbose show only mode,
alongside their corresponding tests.
2010-08-31 10:41:23 -04:00
Brad King 5383657357 CTest: Avoid use of old EscapeSpaces method
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.
2010-08-18 10:14:09 -04:00
Brad King e6067ca969 Merge topic 'ctest-git-flexibility'
a7319cf ctest_update: Run 'git submodule' at top level
7bf8dc1 ctest_update: Support ".git file" work trees
65cb72f ctest_update: Abort if Git FETCH_HEAD has no candidates
2010-08-03 16:07:31 -04:00
Brad King a7319cf1c1 ctest_update: Run 'git submodule' at top level
The git submodule porcelain must be executed from the top level of the
work tree.  Use 'git rev-parse --show-cdup' to find the top level
relative to the source tree.  This is better than searching up the tree
for .git ourselves because it will always work the same way Git does and
thus honors settings like GIT_DISCOVERY_ACROSS_FILESYSTEM.
2010-07-27 11:31:59 -04:00
Brad King 7bf8dc1ac9 ctest_update: Support ".git file" work trees
Commit c3781efb (Support Git upstream branch rewrites, 2010-06-08)
assumed that ".git/FETCH_HEAD" exists inside the source tree.  Fix the
implementation to handle a work tree using a ".git file" to link to its
repository.  Use "git rev-parse --git-dir" to locate the real .git dir.
2010-07-26 11:40:20 -04:00
Brad King 65cb72f758 ctest_update: Abort if Git FETCH_HEAD has no candidates
If .git/FETCH_HEAD provides no merge candidate do not attempt to update.
Also log FETCH_HEAD lines as we parse them since they are essentially
output from the git fetch command.
2010-07-20 16:57:50 -04:00
Brad King e1a4c02bac Merge topic 'resolve/doc-spelling/CPackRPM'
7739d78 Merge CPackRPM changes into doc-spelling
9203e91 Fix spelling errors reported by Lintian.
2010-07-20 16:00:29 -04:00
Brad King f7a0386fc5 Merge topic 'resolve/ctest-file-checksum/remove-CTestTest3'
38c762c Merge 'remove-CTestTest3' into ctest-file-checksum
46df0b4 Activate retry code on any curl submit failure.
8705497 Checksum test should use CMAKE_TESTS_CDASH_SERVER
d0d1cdd Mock checksum failure output for old CDash versions
af5ef0c Testing for CTest checksum
86e81b5 CTest should resubmit in the checksum failed case
d6b7107 Fix subscript out of range crash
082c87e Cross-platform fixes for checksum/retry code
e525649 Checksums on CTest submit files, and retry timed out submissions.
2010-07-13 17:05:33 -04:00
Brad King 38c762c728 Merge 'remove-CTestTest3' into ctest-file-checksum
Conflicts:
	Tests/CMakeLists.txt
2010-07-13 17:01:39 -04:00
Brad King a570ba6df7 Merge topic 'external-project-launcher'
b2634b6 Detect CMake warnings and errors in build output.
012c986 ExternalProject: Add LOG_* options to hide step output
2010-07-13 14:58:11 -04:00
Brad King 7739d786a4 Merge CPackRPM changes into doc-spelling
Conflicts:
	Modules/CPackRPM.cmake
2010-07-13 09:46:52 -04:00