Zach Mullen
142edf8ad4
More robust cost-based scheduling impl
2010-07-01 14:10:49 -04:00
Zach Mullen
3e52000a07
Fix cycle detection for test dependencies
2010-06-30 10:39:17 -04:00
David Cole
415900ba77
Eliminate -Wconversion warnings.
...
Change types of local variables, or casting, or re-arrange
expressions to get rid of "conversion may alter value" warnings
as seen on recent dashboard submissions from londinium.kitware.
2010-06-27 11:22:05 -04:00
Zach Mullen
1a4c0c55c7
Parallel CTest hangs if serial test has depends
2010-06-23 17:18:59 -04:00
Zach Mullen
960dc2b10f
Do not exit if stoptime is passed.
2010-06-15 10:29:35 -04:00
Zach Mullen
fa3c1817b1
Cost-based test scheduling should only be done in parallel mode.
2010-05-19 11:20:30 -04:00
Zach Mullen
2fd9b8072b
Add unit test for RESOURCE_LOCK test property
2010-03-03 10:33:09 -05:00
Zach Mullen
767ffba8ff
Added RESOURCE_LOCK test property.
2010-03-02 15:38:02 -05:00
Zach Mullen
5cfbdb1f80
Close ifstream.
2010-03-01 12:05:58 -05:00
Zach Mullen
348f6c4d8c
If tests failed on the last run, have them run first next time
2010-03-01 11:59:00 -05:00
Zach Mullen
09e748c69a
Configurable path to CTest cost data file
...
Allow the user to set the CMake variable CTEST_COST_DATA_FILE, which will be used to store the cost data from test runs. If not set, defaults to the original location in the build tree Testing/Temporary dir.
2010-03-01 11:06:28 -05:00
Zach Mullen
b4d27dc041
Use historical average of test times to schedule tests.
2010-02-26 11:02:05 -05:00
Zach Mullen
c87282ce52
Re-enabled Scheduler test and fixed the underlying problem.
2010-02-03 16:32:26 -05:00
Zach Mullen
08ac33fe6a
Fix memory leak that occurred when a test executable could not be started. (See BadExe test)
2009-12-10 09:39:19 -05:00
Zach Mullen
2921fa96ed
Handle multiple carriage return issue on windows VS9. Also make sure that running ctest in showonly mode does not kill our cost store, since many ctest tests do this and corrupt our cost data.
2009-11-16 10:58:43 -05:00
Zach Mullen
f7899c7445
Fixed a bug where it was possible for a test to be started twice if a lower-indexed test depended on it.
2009-11-09 16:07:47 -05:00
Zach Mullen
9f105a3f6d
Fix style warning in cmsystemtools, cosmetic change to ctest code
2009-11-05 11:37:47 -05:00
Zach Mullen
9aa4e134b5
Fixed infinite loop condition when a test's dependent test executable could not be found.
2009-11-05 11:03:07 -05:00
Zach Mullen
d47ada823a
Added logic to check for cycles in the test dependency graph before any tests are run. Previously a cycle resulted in a segfault from stack overflow.
2009-11-02 12:52:50 -05:00
Zach Mullen
e2b63e473d
Fix working dir issue for ctest show only mode (-N)
2009-10-27 10:16:01 -04:00
Zach Mullen
f2010871ba
Ctest was broken for subdirs. Restored working directory state for tests so that their executables could be found.
2009-10-20 10:54:02 -04:00
Zach Mullen
b304186bc5
Match width of ctest "Start xx: " line to line up with the end test line
2009-10-05 10:20:52 -04:00
David Cole
ccb0cf1306
Fix warnings in CMake source code.
2009-10-02 15:30:01 -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
5e06f0a557
Fixed uninitialized memory issue in ctest show-only mode
2009-09-25 11:45:19 -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
Zach Mullen
84f3f6cad6
Tests which are not run should be added to the failed test list.
2009-09-23 15:37:50 -04:00
Brad King
6a7eae7184
Rewrite CTest child output handling
...
This commit fixes cmCTestRunTest and cmProcess to more efficiently
handle child output. We now use the buffer for each child output pipe
to hold at most a partial line plus one new block of data at a time.
All complete lines are scanned in-place, and then only the partial line
at the end of the buffer is moved back to the beginning before appending
new data.
We also simplify the cmProcess interface by making GetNextOutputLine the
only method that needs to be called while the process is running. This
simplifies cmCTestRunTest so that CheckOutput can be called until it
returns false when the process is done.
2009-09-11 12:26:41 -04:00
Brad King
b6c26cded2
Initialize cmCTestRunTest instances robustly
...
All instances of this class need a cmCTestTestHandler, so we now require
one to construct it. The instance also provides the cmCTest instance
too.
2009-09-11 10:09:48 -04:00
Zach Mullen
4b4e801eba
BUG: Fixed segfault and bad reporting if a ctest executable could not be found. Also added some batch testing code that is not yet complete.
2009-09-10 11:16:08 -04:00
Zach Mullen
a516040579
ENH: ctest now writes time cost data to a file after a test set is run, and uses these time costs to schedule the processes the next time ctest is run in that build tree.
2009-09-08 17:10:35 -04:00
Zach Mullen
6727834a8c
BUG: Fixed extraneous newlines from ctest process output
2009-09-08 14:48:23 -04:00
Zach Mullen
39e5f9d963
ENH: Replaced the EXPENSIVE test property with a COST test property taking a floating point value. Tests are now started in descending order of their cost, which defaults to 0 if none is specified.
2009-09-08 13:39:13 -04:00
Zach Mullen
5fb958fde9
ENH: Added ctest test options PROCESSORS and RUN_SERIAL. These allow specification of resource allocation for given tests running with the ctest -j N option. RUN_SERIAL ensures that a given test does not run in parallel with any other test. Also forced appending of "..." to the longest test name in ctest.
2009-09-07 10:26:17 -04:00
Zach Mullen
c6e5dd21fd
Added the test property EXPENSIVE, which denotes that the given test(s) should be started prior to tests that are not marked as such. Also fixed test dependencies, and a few uninitialized variables in cmProcess.
2009-09-04 10:16:06 -04:00
Zach Mullen
d4adde13d7
Allowed tests to pull more than one line of output in their quantum. Fixed uninitialized variables in the case that the test process could not start.
2009-09-03 15:33:44 -04:00
Zach Mullen
20713ab89d
Fixed warnings
2009-09-03 11:14:13 -04:00
Zach Mullen
659171d1f7
ENH: Added PARALLEL_LEVEL option for ctest_memcheck(). Added PROCESSORS option to set_tests_properties (implementation to come).
2009-09-03 10:47:14 -04:00
Zach Mullen
c5cf9b0e5f
STYLE: line length
2009-09-02 16:32:43 -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
b0b5ffcf5c
MemCheck should now work again in ctest
2009-08-28 15:08:03 -04:00
Zach Mullen
b427d1985e
Added ctest -N test. Fixed ctest working directory bug. MemCheck fix coming soon...
2009-08-28 11:08:39 -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
Bill Hoffman
a696fe8183
Output total time when using -j N
2009-08-11 22:02:49 -04:00
Bill Hoffman
3b73cdc89f
ENH: add a CDash measured value showing the reason for passed and failed tests based on regular expressions
2009-02-24 17:23:51 -05:00
Bill Hoffman
70363cbf8f
BUG: partial fix for 8056 -W now works with -j
2009-02-10 14:19:50 -05:00
Bill Hoffman
5292b3edef
COMP: try to fix sgi compiler problem with set and also shorten symbol lengths for set class
2008-07-04 10:28:22 -04:00
Bill Hoffman
9e167b6800
ENH: one more fix for the old hp c++ compiler
2008-07-03 16:26:03 -04:00
Bill Hoffman
bb7b27e417
ENH: add initial ctest -j feature
2008-07-03 09:31:33 -04:00