Commit Graph

125 Commits

Author SHA1 Message Date
Brad King e1548142fb CTest: Move initial checkout to ctest_start()
In CTest command-driven script mode we support starting without a source
tree.  Previously the ctest_start() command would do some initialization
but could not do anything that required CTestConfig.cmake from the input
source tree.  Later, ctest_update() would run CTEST_CHECKOUT_COMMAND to
create the source tree, and then re-initialize everything.  This
delayed-initialization approach led to many complicated cases of which
only some worked.  For example, the second initialization only worked
correctly in Nightly mode and simply failed for Experimental and
Continuous builds.

A simpler solution is to run CTEST_CHECKOUT_COMMAND during ctest_start()
and then have a single initialization path.  In principle this change in
behavior could break scripts that set the checkout command after
ctest_start() but before ctest_update().  However, the convention we've
always followed has been to set all variables before ctest_start().

See issue #9450.
2009-11-24 08:58:59 -05:00
Brad King c2ba35787e CTest: Simplify Initialize method signature
We make the cmCTest::Initialize method private since it is only called
from inside the class implementation.  We also combine the two boolean
arguments into one since they both meant the same thing.
2009-11-24 08:58:48 -05:00
Zach Mullen 8612aa10b6 Hook for scheduling tests in a random order
This may help statistically detect implicit dependencies among unit
tests while running in parallel.
2009-10-29 15:30:12 -04:00
Brad King 96afb12087 Convert CMake to OSI-approved BSD License
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.
2009-09-28 11:43:28 -04:00
Bill Hoffman 8a690289c2 Add label summary times to ctest default output. Also, remove parallel time output. Add flag to disable label summary. 2009-09-11 13:34:35 -04:00
Zach Mullen 69fd641adb Fixed ctest output where max test index is not the same width as the total number of tests. Also some preliminary changes for batching ctest jobs 2009-09-02 10:08:40 -04:00
Zach Mullen 177edc5ed1 Fixed ctest -N segfault issue. Further refactored ctest. Enabled failover for ctest 2009-08-27 10:37:30 -04:00
Zach Mullen 8ffd8d0a03 ENH: refactored ctest. All testing is now parallel. If no -j option is specified, defaults to a MP level of 1 (non parallel) 2009-08-26 12:09:06 -04:00
Zach Mullen b9daa192af ENH: Refactored CTest test execution code into an object 2009-08-19 08:58:36 -04:00
Brad King 5bc17136a3 BUG: Do not carry over file list between coverage
When performing multiple ctest_coverage() commands in a single CTest
instance we need to clear the list of CoverageLog-*.xml files for
submission.  Otherwise if the current coverage run produces fewer log
files than the previous run CTest will attempt to submit non-existing
files.
2009-03-11 13:31:33 -04:00
Brad King 3f4064f7ac ENH: Add cmCTest::DecodeURL method
This new method decodes the "percent-encoding" used in URL syntax.
2009-02-24 15:43:06 -05:00
Brad King dc69ed8e99 STYLE: Add TODO comment about CTest configuration
Currently CTest does not load configuration settings computed at CMake
Configure time when running a dashboard script.  This adds a comment
describing refactoring that might help resolve the problem.
2009-02-13 11:49:26 -05:00
Brad King dc13914cd6 ENH: Create cmXMLSafe to help escapes in XML
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.
2009-02-05 16:31:37 -05:00
Brad King 5527ca5524 BUG: Reset file submission list on test restart
When running in script mode it is possible to run multiple separate
dashboard submissions in one cmCTest instance.  The recent refactoring
of file submission lists into parts failed to clear the submission lists
when starting a new dashboard (ctest_start or ctest_update).  Only the
unused old submission set was cleared.  This fixes the refactored
version to remove the old submission set completely and also clear the
part-wise lists.
2009-01-27 10:58:33 -05:00
Bill Hoffman 7e1ba9d075 BUG: add output on failure to ctest #8255 2009-01-18 13:03:32 -05:00
Brad King 447f5b303e ENH: Divide CTest file submission list by part
This splits the list of files for CTest to submit into those belonging
to each part.  The set is recombined just before submission.  Later this
will allow piecewise submissions.
2009-01-12 10:37:55 -05:00
Brad King 4b97fab34d ENH: Refactor cmCTest test part representation
This introduces the name "part" to denote a portion of the testing and
submission process performed by ctest.  We generalize the boolean
indicating whether each part is enabled into a structure to which more
information can be added later.  We provide bi-directional mapping
between part id and part names.
2009-01-12 10:37:25 -05:00
Brad King cccac773ce ENH: Teach ctest_* to create appending XML files
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.
2009-01-12 09:11:29 -05:00
Bill Hoffman 5d5fd641c3 ENH: fix return type 2009-01-09 12:32:52 -05:00
Bill Hoffman ed387ffe6b ENH: add subproject tag property for ctest 2009-01-09 12:05:23 -05:00
Brad King 2703d51b8f BUG: Capture cout and cerr from internal ctest
When CTest detects that a test is running its own executable it
optimizes the test by using an internal instance of cmCTest instead of
creating a new process.  However, the internal instance was using cout
and cerr directly.  This redirects the output to a string stream to
avoid direct display of the internal test's output.
2009-01-05 14:14:10 -05:00
David Cole 3e20b9c1a0 STYLE: Fix line length style violation. 2008-11-28 10:50:20 -05:00
David Cole ceaef94ccc ENH: Implement feature request from issue 7885. Allow setting environment variables on a per-test basis for ctest using set_test_properties ENVIRONMENT. 2008-11-26 14:38:43 -05:00
Bill Hoffman 43fe0d3978 ENH: add max width option to ctest ouptut 2008-09-22 14:04:13 -04:00
Bill Hoffman bb7b27e417 ENH: add initial ctest -j feature 2008-07-03 09:31:33 -04:00
Brad King 62145a5811 BUG: cmCTest::GetConfigType should return the string by reference-to-const so that callers may use .c_str() safely. 2008-02-03 08:57:41 -05:00
Brad King 9f61e2a235 ENH: Centralized and globalized computation of CMake program locations. This eliminates startup paths that failed to produce this information. 2007-12-13 17:56:50 -05:00
Alexander Neundorf e9c163762e STYLE: remove argument bool fast, it was unused
Alex
2007-06-12 09:40:36 -04:00
Ken Martin 2f84bd1758 ENH: added per test timeout support 2007-01-25 11:16:16 -05:00
Ken Martin f7a5289e31 ENH: added total time limit for a CTest run bug 1207 2006-10-19 10:45:19 -04:00
Andy Cedilnik 3206db15b3 ENH: Properly propagate config type to test 2006-10-13 17:10:48 -04:00
Ken Martin 77a4227652 ENH: some cleanup and commenting of code 2006-10-12 12:51:27 -04:00
Andy Cedilnik 2d81046ae2 ENH: Add support for special tracks, fix options of handlers so that the -R, -U, and so on work in the new style scripting 2006-04-28 11:59:31 -04:00
Andy Cedilnik 55c0ff5f64 BUG: Improve the behavior of the ReadCustomFilesCommand 2006-04-09 07:45:18 -04:00
Ken Martin d81ebf0c23 ENH: added support for -SP scripts in new processes 2006-04-04 13:04:28 -04:00
Andy Cedilnik 386900bfdd ENH: Several cleanups and make sure things get propagated where they should. Also, allow to load CTest custom files to the actual ctest -S script 2006-03-29 12:01:24 -05:00
Andy Cedilnik fb9eedc187 ENH: Add new ctest command 2006-03-28 15:20:03 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Andy Cedilnik 862f5df25c STYLE: Fix some style issues 2006-03-10 15:03:09 -05:00
Andy Cedilnik 26e1fea95b STYLE: Fix some style issues 2006-03-09 11:57:43 -05:00
Andy Cedilnik 0321dae07b BUG: Handle buggy streams 2006-02-28 16:17:27 -05:00
Andy Cedilnik f47a57c3e8 ENH: Add a way to submit extra files to the dashboard 2005-07-18 12:53:48 -04:00
Andy Cedilnik 3d84afe571 ENH: Several improvements and cleanups:
1. Add long command line arguments for every argument
2. Add a way to overwrite CTest configuration by providing --overwrite TimeOut=10
3. Improve argument parsing.
4. Add submit index argument
2005-07-18 11:46:45 -04:00
Andy Cedilnik 1e72091e86 ENH: Add timeout support 2005-07-13 10:17:18 -04:00
Andy Cedilnik 1b578d3180 ENH: Several improvements with the way things are handled. Also, support multiple submited files 2005-06-23 13:04:18 -04:00
Andy Cedilnik d9dc9b54a6 ENH: Add superclass for all commands and handlers. Improve handlers to have initialization code, and start initializing ctest when start is invoked 2005-06-17 13:04:56 -04:00
Andy Cedilnik 2cc5ed49d1 ENH: Several improvements to CTest:
1. Support for showing line numbers when debugging ctest --show-line-numbers
2. Modify the ctest initialization code, so that it can be delayed
3. Handlers now have corresponding command if they were invoked from the command (so far only update actually use that)
4. Start command is simplified and the functionality is moved to CTest
5. Update can perform initial checkout if CTEST_CHECKOUT_COMMAND is set
6. Add test that checks out kwsys and perform tests on the fresh checkout
2005-06-16 13:18:21 -04:00
Andy Cedilnik a95a4b000d ENH: Separate standard output and standard error for problematic commands 2005-06-14 11:42:53 -04:00
Andy Cedilnik 1a165dc60d ENH: Move the build-and-test code to a handler 2005-06-03 16:10:55 -04:00
Andy Cedilnik 7f7cf5ee6b COMP: Remove ERROR reserved word or something and replace with ERROR_MESSAGE 2005-05-31 18:40:43 -04:00