Commit Graph

72 Commits

Author SHA1 Message Date
Stephen Kelly af8a1643c1 Remove c_str calls when using stream APIs.
Use an ad-hoc clang tool for matching the calls which should be
ported.
2014-03-11 15:03:50 +01:00
Ben Boeckel 270eb96df0 strings: Remove cmStdString references
Casts from std::string -> cmStdString were high on the list of things
taking up time. Avoid such implicit casts across function calls by just
using std::string everywhere.

The comment that the symbol name is too long is no longer relevant since
modern debuggers alias the templates anyways and the size is a
non-issue since the underlying methods are generated since it's
inherited.
2014-03-08 13:05:35 -05:00
Clinton Stimpson 5730710c86 Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.
Also use SystemTools::Fopen() instead of fopen().
This is to eventually support utf-8 filenames.
2014-01-07 09:27:44 -05:00
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