Nils Gladitz
7f0d4aff24
CTest: fix regressions introduced by the ctest-fix-run-serial topic
...
The first regression resulted in endless looping due to unrun test
dependencies. The second regression prioritized all tests with dependencies
in serial test runs.
2013-12-23 15:31:15 +01:00
Nils Gladitz
2eccdbdc2a
CTest: prevent tests from being inserted in the cost list twice
2013-10-31 22:10:56 +01:00
Nils Gladitz
2b5c9da5bc
CTest: restore old failed test priority in serial test runs
2013-10-27 08:44:55 +01:00
Nils Gladitz
ff59365f8b
CTest: fix dashboard issues associated with the ctest-fix-run-serial topic
2013-10-25 21:39:58 +02:00
Nils Gladitz
384beffc39
CTest: added comments that describe the basic test sorting approach
2013-10-21 19:55:14 +02:00
Nils Gladitz
adbe00d6e1
CTest: removed redundant copy of test dependency set
2013-10-21 19:32:53 +02:00
Nils Gladitz
1b750cbf9a
CTest: perform cycle test early
2013-10-19 09:28:18 +02:00
Nils Gladitz
6d4d7ca955
CTest: consider previously failed tests before all others
2013-10-19 08:52:28 +02:00
Nils Gladitz
e809d8cfdf
CTest: prioritize tests by their depth in the dependency graph
2013-10-19 00:38:35 +02:00
Nils Gladitz
44017a4767
CTest: handle dependent and non dependent test requirements equally
2013-10-17 22:10:35 +02:00
Casey Goodlett
324780697c
CTest: Prevent creation of unbounded number of tests in ctest ( #12904 )
...
Note it is still possible for CTest to start more than the number of
processes specified by PARALLEL_LEVEL, but this prevents the number of
tests to start from being unbounded because of overflow.
2012-12-18 13:30:34 -05: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
8af8eab7a4
Use stable_sort to preserve test order ( #11877 )
...
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
Zach Mullen
6b0c7ded57
Support explicitly set test costs in non-parallel testing.
2011-01-03 11:25:46 -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
Zach Mullen
13f24540ad
Remove debugging message from parallel ctest
2010-12-01 11:28:23 -05: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
28a16d1cc4
Merge branch 'improve-test-cost-sorting'
2010-07-06 10:24:31 -04:00
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