Commit Graph

430 Commits

Author SHA1 Message Date
Zach Mullen a52c0118d4 Added the --timeout option to ctest command line. This sets a global timeout on all tests if no more specific timeout is set on them. 2009-11-30 16:08:11 -05:00
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
David Cole 886ae02356 Fix crash on Windows. Remove trailing white space from regex. These changes should correct all failures of the new FailedSubmit tests. 2009-10-15 07:38:51 -04:00
David Cole 85feea2d0d Fix floating point comparison warnings. Thanks to Alex Neundorf for the patch. 2009-10-13 16:39:48 -04:00
Zach Mullen 7199badb00 Fix line length. 2009-10-13 08:56:38 -04:00
Zach Mullen bf0e67fea3 Uncomment block in InitializeFromCommand (accidentally checked this change in) 2009-10-12 11:11:43 -04:00
Zach Mullen a5aa23d4e1 CTest-side support for compiler name and compiler version information. Requires CDash update to show on CDash. 2009-10-12 11:06:49 -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
Zach Mullen 2e5ccdbc18 Removed comment 2009-09-24 11:09:10 -04:00
Zach Mullen 65c418e56f Reformat ctest -N output. Removed the "Start processing tests" message as well. 2009-09-24 09:49:46 -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 a2ef34d344 Fixed overwriting of a previous change set 2009-08-19 09:24:55 -04:00
Zach Mullen b9daa192af ENH: Refactored CTest test execution code into an object 2009-08-19 08:58:36 -04:00
Brad King e9d7ebb3ec BUG: Do not double-initialize local generators
All global generator CreateLocalGenerator methods automatically
initialize the local generator instances with SetGlobalGenerator.  In
several places we were calling SetGlobalGenerator again after receiving
the return value from CreateLocalGenerator.  The double-initializations
leaked the resources allocated by the first call to SetGlobalGenerator.
This fix removes the unnecessary calls.
2009-07-28 10:47:02 -04:00
David Cole c64b1456b6 BUG: Fix typo pointed out by Monsieur Francois Bertel. Merci, Francois. 2009-07-22 12:06:52 -04:00
Bill Hoffman 5c4208f50e ENH: only 5 failing tests for VS 10 2009-07-10 09:12:39 -04:00
Brad King a045bd4c0d COMP: Avoid operator precedence warning
GCC warns that parens should be used for nested and/or operators.
2009-05-11 13:58:19 -04:00
Bill Hoffman 00c253847a BUG: 8898 fix date in ctest nightly time 2009-05-07 18:20:42 -04:00
Brad King 98c51ff6dc ENH: Overhaul CMake version numbering
This moves the version numbers into an isolated configured header so
that not all of CMake needs to rebuild when the version changes.

Previously we had spaces, dashes and/or the word 'patch' randomly chosen
before the patch number.  Now we always report version numbers in the
traditional format "<major>.<minor>.<patch>[-rc<rc>]".

We still use odd minor numbers for development versions.  Now we also
use the CCYYMMDD date as the patch number of development versions, thus
allowing tests for exact CMake versions.
2009-03-05 15:17:07 -05: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
Bill Hoffman efad72a9a3 ENH: add label global property to ctest scripts 2009-02-10 16:08:40 -05:00
Bill Hoffman 4e710a9ebe ENH: add the ability to run tests by labels 2009-02-10 14:24:24 -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 6783ca8364 COMP: Remove unused variable 2009-01-12 11:10:04 -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
Brad King 82e7e7fb7d ENH: Add missing newline to CTest-generated xml
The Generator="ctest..." attribute of Site elements in CTest-generated
XML files was missing a newline, causing the next attribute to appear on
the same line.  This adds the newline.
2009-01-09 16:44:19 -05:00
Bill Hoffman 5690cafd62 ENH: fix crash for old style scripts 2009-01-09 12:56:09 -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
Brad King 1e2c7a7bb3 BUG: Fix crash when running internal CTest
When CTest encounters a test whose executable is the ctest executable
iteslf, it just invokes code inside itself to avoid starting a new
process.  This fixes a null-pointer dereference in the logging code of
that case.
2008-12-18 12:27:54 -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 bdfc3fadd3 ENH: add more debug stuff to CTestCTest2 so I can figure out redwall 2008-11-23 10:49:46 -05:00
Bill Hoffman ecf312ccc8 STYLE: fix line length stuff for KWStyle 2008-10-01 09:04:27 -04:00
Bill Hoffman 43fe0d3978 ENH: add max width option to ctest ouptut 2008-09-22 14:04:13 -04:00
Bill Hoffman 64fc597de2 ENH: add initial support for HAIKU OS from bug# 7425 2008-09-15 17:53:28 -04:00
Bill Hoffman 7098b666fa COMP: fix some warnings 2008-07-04 09:50:32 -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
Bill Hoffman dc0f41c298 ENH: remove extra junk 2008-01-31 16:10:32 -05:00
Bill Hoffman c4093afc52 ENH: enhancements for cdash, include system information and better time entries 2008-01-30 11:17:36 -05:00
Ken Martin 3d63c85f75 ENH: look for CTestConfiguration.ini first 2008-01-23 12:51:24 -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
Brad King d1ad16f438 BUG: Do not require a nightly start time for an experimental or continuous test model. 2007-11-21 10:07:00 -05:00
Bill Hoffman cc1f1014e3 ENH: allow test properties to set a timeout that is longer than the default timeout, but not longer than CTEST_TIME_LIMIT for a script 2007-09-18 11:34:53 -04:00
Bill Hoffman f262298bb0 ENH: fix 2 ctest issues, do not use the build type of ctest to look for config types, do not inherit pipes in child procs for ctest so it can kill them 2007-09-11 11:21:36 -04:00
Bill Hoffman 01c3c3dee6 ENH: change error to warning so ctesttest3 passes 2007-08-06 17:09:47 -04:00
Bill Hoffman 1a11a2d0c0 ENH: add a check to make sure nightly start time was specified 2007-08-03 16:41:49 -04:00
Bill Hoffman 21b5c7d2b4 ENH: add more verbose output 2007-06-14 13:05:09 -04:00
David Cole 07837ebe3a BUG: Never return a string containing a space " " from cmCTest::GetShortPathToFile - replace them with "_". DART cannot construct valid file names during dashboard rollup with space " " in the short path. 2007-06-12 11:11:07 -04:00
Alexander Neundorf e9c163762e STYLE: remove argument bool fast, it was unused
Alex
2007-06-12 09:40:36 -04:00
David Cole ed1a04360a BUG: Never return a string containing a ":" from cmCTest::GetShortPathToFile - replace them with "_". DART cannot construct valid file names during dashboard rollup with ":" in the short path. Also, fix the Bullseye coverage handler so that the file names and paths match in both the coverage summary and the individual coverage logs. 2007-06-11 15:36:50 -04:00
Ken Martin d1c4a0bf9e BUG: fix timeout bug with global timeouts such as DART_TESTING_TIMEOUT 2007-06-08 14:16:04 -04:00
Ken Martin a175613a56 BUG: better passing of global TIMEOUT to internal ctest invocaitons 2007-06-06 11:02:24 -04:00
Ken Martin 8fdca686b3 ENH: fix passing of time limit to some ctest invocations that also use build-options 2007-06-04 13:39:43 -04:00
Bill Hoffman 239ee9c26c BUG: fix problem with new curl_getdate and ctest 2007-03-23 16:33:47 -04:00
Ken Martin b5423a0218 ENH: minor additional error output 2007-03-20 11:52:16 -04:00
Ken Martin 098c1dcdfe BUG: fix in the timeout code 2007-01-29 12:42:33 -05:00
Ken Martin 2f84bd1758 ENH: added per test timeout support 2007-01-25 11:16:16 -05:00
Bill Hoffman 3a32cec969 ENH: merge in changes for beos support 2006-12-04 17:26:41 -05:00
Brad King f91b3c1daa ENH: Add options to build with system utility libraries. Organize inclusion of third party libraries into a single header per library. This addresses bug#3653. 2006-10-19 15:00:10 -04: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 2071291956 STYLE: Fix kwstyle 2006-10-15 07:54:52 -04:00
Andy Cedilnik 3206db15b3 ENH: Properly propagate config type to test 2006-10-13 17:10:48 -04:00
Andy Cedilnik 61a4c12ce6 BUG: Use BuildDirectory from the DartConfiguration information. Also, Make missing coverage information not make ctest fail 2006-10-12 16:31:54 -04:00
Ken Martin 77a4227652 ENH: some cleanup and commenting of code 2006-10-12 12:51:27 -04:00
Ken Martin 299bbcad86 ENH: fix color output inside of ctest runs 2006-07-21 14:58:13 -04:00
Andy Cedilnik 981787c9c5 COMP: Fix stl string access 2006-07-11 16:08:34 -04:00
Andy Cedilnik 12cc89a8e5 BUG: Try to fix the problem of bad test names 2006-07-11 15:58:07 -04:00
Andy Cedilnik e015e10370 ENH: Pass -C flag to cmake to generate the apropriate build command 2006-07-09 13:18:15 -04:00
Ken Martin 5ac59d81d3 STYLE: fix line length 2006-05-10 13:56: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 47d9021b66 BUG: The fast mode should not read CTestCustom.ctest files 2006-04-11 08:56:25 -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 cca91e168a ENH: Pass handler flags to both test and memcheck handler 2006-03-28 15:20:21 -05:00
Andy Cedilnik 161524581f BUG: Fix CTestCustom.ctest file 2006-03-23 11:19:30 -05:00
Andy Cedilnik 9a94d1144d ENH: Two things. If there is CTestCustom.cmake in the toplevel directory read that file only. If there is CTestCustom.ctest in the toplevel directory, do the glob, if there is none, do nothing 2006-03-21 16:39:50 -05:00
Andy Cedilnik 1cdd8b4fbd BUG: Handle visual studio 8 2006-03-21 16:01:50 -05:00
Andy Cedilnik 15d7dd9937 ENH: Remove cmGlob and use glob from kwsys 2006-03-21 12:54:31 -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 5b638bb136 BUG: Add additional check 2006-02-28 15:56:46 -05:00
Brad King f2cf7e9197 ENH: Enable capture of output from VCExpress.exe and devenv.exe. 2006-02-15 10:22:55 -05:00
Andy Cedilnik 4259971961 ENH: Since list file cache does not make much sense any more (because of proper list file parsing), and it actually adds unnecessary complications and make ctest scripting not work, take it out 2006-02-07 08:49:42 -05:00
Andy Cedilnik c04cbcac70 ENH: Fix command line argument parsing 2005-12-27 13:10:23 -05:00
Brad King 0df3c162fb BUG: Do not dereference an end iterator. 2005-11-17 15:44:43 -05:00
Andy Cedilnik eff0013b3b ENH: More output 2005-10-19 11:00:28 -04:00
Andy Cedilnik 89569f07ed ENH: More verbosity 2005-10-04 10:58:21 -04:00
Andy Cedilnik 287eeb283e ENH: Expose version of ctest 2005-09-15 17:22:06 -04:00