summaryrefslogtreecommitdiffstats
path: root/Source/cmCTest.h
Commit message (Collapse)AuthorAgeFilesLines
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-10/+10
| | | | | | | | | | | 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.
* stringapi: Use strings for test namesBen Boeckel2014-03-081-3/+3
|
* stringapi: Use strings for variable namesBen Boeckel2014-03-081-4/+4
| | | | Variable names are always generated by CMake and should never be NULL.
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-1/+1
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
* Refactor internal resource location APIs and initializationBrad King2013-11-121-9/+0
| | | | | | | | | | | | | | | | | | | | Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources. Teach it to compute the locations of cmake, ctest, cpack, ccmake, and cmake-gui executables, and the location of CMAKE_ROOT. Provide this information from static cmSystemTools::Get<resource>() methods. Refactor code that needs these locations to use the new APIs. Teach FindCMakeResources to use the OS X system API to lookup the executable location. When running from the CMake build tree itself, leave a file in the tree that FindCMakeResources can use to read the location of the source tree. This avoids the need to compile the source tree location into a binary that may be installed and used without the source tree. Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build tree next to "cmake" and the other tools, as is already done in the install tree for the application bundle. This ensures a consistent set of executables are available in one directory.
* CTest: Read CTEST_PARALLEL_LEVEL from environmentStephen Kelly2013-05-211-0/+1
| | | | | If no explicit "-j <n>" option is given on the command line then read the parallel level from an environment variable.
* Merge topic 'ctest-SUBMIT_INDEX-cdash'Brad King2012-11-061-0/+2
|\ | | | | | | | | 1cfaa2f CTest: Allow SUBMIT_INDEX with CDash
| * CTest: Allow SUBMIT_INDEX with CDashBrad King2012-11-011-0/+2
| | | | | | | | | | If CTEST_DROP_SITE_CDASH is true then SUBMIT_INDEX is supported. The Dart version does not matter because the server is not Dart.
* | Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/ \+$//'
* | CTest: Extend -D command line arg handling for variable definitionsDavid Cole2012-06-241-0/+10
| | | | | | | | | | | | If the argument following -D is not a valid dashboard type string, then try to parse it as a "var:type=value" string just like cmake already does.
* | CTest: Refactor error output into ErrorMessageUnknownDashDValueDavid Cole2012-06-241-0/+4
|/ | | | | No behavior change. Prep work for defining script variables by extending -D command line handling to recognize var:type=value syntax.
* CTest: Disallow problem chars in build and site names (#11792)David Cole2011-11-181-0/+4
| | | | | Also, use "(empty)" rather than actually sending an empty string if build or site name is not set properly.
* We will actually compress memcheck output if the server supports it.Zach Mullen2011-05-261-2/+5
| | | | | This change won't be functional until the next release of CDash due to the version comparison.
* Don't tar/gz ctest_upload() filesZach Mullen2011-03-151-0/+2
|
* Implement ctest_upload commandZach Mullen2011-03-151-2/+6
|
* Added CTest command --print-labelsZach Mullen2010-08-311-0/+3
| | | | | | 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.
* Better detection of stop_time being passed.Zach Mullen2010-03-191-0/+2
|
* Add the --stop-time argumentZach Mullen2010-03-171-0/+7
| | | | Unit test and script hook for STOP_TIME
* Configurable path to CTest cost data fileZach Mullen2010-03-011-0/+2
| | | | 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.
* Enhanced CTest HTTP Request API to support PUT file uploads.Zach Mullen2009-12-301-2/+4
|
* Fix issue #10060 - add APPEND arg to ctest_start command.David Cole2009-12-291-4/+4
| | | | If APPEND is given to ctest_start, it will read the tag from the current existing Testing/TAG file rather than creating a new one based on the current time stamp. This allows a developer to run several dashboard scripts in a row, all of which will share the same tag/stamp/buildid when they finally get submitted to CDash. Now you can split the running of build phases and test phases for the same dashboard row into multiple scripts.
* Move cURL dependent code out of CMakeLib to fix complex tests.Zach Mullen2009-12-221-0/+13
|
* Query the CDash web API to automate CDash version detection.Zach Mullen2009-12-211-0/+2
|
* Added support for CTest awareness of the CDash version. This will help ↵Zach Mullen2009-12-211-1/+4
| | | | forward compatibility for both tools. Note that this changeset effectively makes the default to disable output compression. Now, to enable output compression, the CDASH_CTEST_VERSION must be explicity set to >= 1.6. Automated detection of the CDash version is the next step.
* Added an option to conditionally attach files to a test submission only if ↵Zach Mullen2009-12-161-0/+4
| | | | the test does not pass. Also some preliminary changes for test output compression.
* Added a "-http1.0" option to ctest to make it submit using curl's http 1.0 ↵Zach Mullen2009-12-111-1/+3
| | | | option. Also added parsing of html reponse output to determine whether errors or warnings were sent in response from the server. If errors or warnings occurred, the response is output to stdout, and the "submission successful" message has been changed to accurately reflect whether or not warnings or errors were returned with the response.
* Added the --timeout option to ctest command line. This sets a global ↵Zach Mullen2009-11-301-0/+5
| | | | timeout on all tests if no more specific timeout is set on them.
* CTest: Move initial checkout to ctest_start()Brad King2009-11-241-1/+2
| | | | | | | | | | | | | | | | | | | | 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.
* CTest: Simplify Initialize method signatureBrad King2009-11-241-2/+9
| | | | | | 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.
* Hook for scheduling tests in a random orderZach Mullen2009-10-291-0/+4
| | | | | This may help statistically detect implicit dependencies among unit tests while running in parallel.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | 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.
* Add label summary times to ctest default output. Also, remove parallel time ↵Bill Hoffman2009-09-111-0/+2
| | | | output. Add flag to disable label summary.
* Fixed ctest output where max test index is not the same width as the total ↵Zach Mullen2009-09-021-0/+5
| | | | number of tests. Also some preliminary changes for batching ctest jobs
* Fixed ctest -N segfault issue. Further refactored ctest. Enabled failover ↵Zach Mullen2009-08-271-12/+6
| | | | for ctest
* ENH: refactored ctest. All testing is now parallel. If no -j option is ↵Zach Mullen2009-08-261-1/+1
| | | | specified, defaults to a MP level of 1 (non parallel)
* ENH: Refactored CTest test execution code into an objectZach Mullen2009-08-191-0/+1
|
* BUG: Do not carry over file list between coverageBrad King2009-03-111-0/+1
| | | | | | | | 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.
* ENH: Add cmCTest::DecodeURL methodBrad King2009-02-241-0/+3
| | | | This new method decodes the "percent-encoding" used in URL syntax.
* STYLE: Add TODO comment about CTest configurationBrad King2009-02-131-0/+4
| | | | | | 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.
* ENH: Create cmXMLSafe to help escapes in XMLBrad King2009-02-051-3/+0
| | | | | | | 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.
* BUG: Reset file submission list on test restartBrad King2009-01-271-1/+0
| | | | | | | | | | 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.
* BUG: add output on failure to ctest #8255Bill Hoffman2009-01-181-0/+5
|
* ENH: Divide CTest file submission list by partBrad King2009-01-121-3/+7
| | | | | | 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.
* ENH: Refactor cmCTest test part representationBrad King2009-01-121-16/+37
| | | | | | | | 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.
* ENH: Teach ctest_* to create appending XML filesBrad King2009-01-121-1/+1
| | | | | 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.
* ENH: fix return typeBill Hoffman2009-01-091-1/+1
|
* ENH: add subproject tag property for ctestBill Hoffman2009-01-091-0/+3
|
* BUG: Capture cout and cerr from internal ctestBrad King2009-01-051-0/+8
| | | | | | | | 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.
* STYLE: Fix line length style violation.David Cole2008-11-281-1/+2
|
* ENH: Implement feature request from issue 7885. Allow setting environment ↵David Cole2008-11-261-2/+4
| | | | variables on a per-test basis for ctest using set_test_properties ENVIRONMENT.