summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'ctest-git-empty-commits'Brad King2010-06-241-2/+18
|\
| * CTest: Parse empty Git commits correctlyBrad King2010-06-231-2/+18
| | | | | | | | | | | | | | Git's diff-tree format has no '\n'-terminated blank line at the end of its commit message body block if there are no diff lines. Instead the message body is terminated by '\0' and there is no diff section. Teach CTest to parse the format in this case.
* | Parallel CTest hangs if serial test has dependsZach Mullen2010-06-231-0/+2
|/
* Look in the ctest ini file for GitCommand.David Cole2010-06-211-0/+54
| | | | | | | | If GIT_EXECUTABLE is not passed into the test, but the source tree is a git checkout, then use GitCommand or UpdateCommand from the ctest ini file to set its value. Presumably, a dashboard running the test suite had to have set this properly in order to do the ctest_update step.
* Merge branch 'remove-CTestTest3'Brad King2010-06-151-13/+0
|\
| * Remove CTestTest3.David Cole2010-06-131-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At this point, CTestTest3 causes more problems than it's worth. It uses CVS to grab a remote (over the network) copy of kwsys code for testing. This causes some sort of problem nearly every night on the nightly CMake dashboards. Worse: it causes problems on different machines on different nights, then the next day, it's fine again. So: remove this test and monitor the coverage. If we lose a significant portion of code coverage, I will revert this commit and re-activate the test. However, if we do not lose a significant portion of code coverage, I will remove the code for the test as well as removing it from the CMakeLists.txt file. Brad King and I discussed this over the last few weeks, and we both think we have sufficient coverage of all the checkout and update code in other locally (non-network) based tests. On the other hand, even if we do take a mild hit on coverage temporarily, it should be relatively easy to increase our coverage again by adding bits to those other locally based tests.
* | Merge branch 'ctest-git-flexibility'Brad King2010-06-157-27/+68
|\ \
| * | ctest_update: Support Git upstream branch rewritesBrad King2010-06-083-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use 'git fetch' followed by 'git reset' to update the source tree. This is better than 'git pull' because it can handle a rewritten upstream branch and does not leave local modifications. After fetch, parse FETCH_HEAD to find the merge head that 'git pull' would choose to track the upstream branch. Then reset to the selected head. In the normal fast-forward case the behavior remains unchanged. However, now local modifications and commits will be erased, and upstream rewrites are handled smoothly. This ensures that the upstream branch is tested as expected.
| * | ctest_update: Support custom Git update commandBrad King2010-06-081-9/+44
| | | | | | | | | | | | | | | Define CTest configuration variable CTEST_GIT_UPDATE_CUSTOM to set a custom command line for updating Git-managed source trees.
| * | Generalize CTest.Update* test dashboard script helpersBrad King2010-06-086-16/+16
| |/ | | | | | | | | | | | | Teach (create|run)_dashboard_script macros to treat the argument as the name of a build tree. Append '.cmake' to generate the dashboard script name. This allows future re-use of the macros for multiple test scripts.
* | Merge branch 'msys-bootstrap-test'Brad King2010-06-152-5/+15
|\ \
| * | Enable BootstrapTest on MSYSBrad King2010-06-112-5/+15
| |/ | | | | | | | | | | The bootstrap script works under MSYS, so test it. Use a launcher batch file since 'ctest --build-and-test' is a Windows program and will not honor the shebang line in the script.
* | Run CTest.NoNewline test using built CMakeBrad King2010-06-101-1/+1
|/ | | | | | Even though this test is checking that the ctest running it can handle test output without newlines we should run the just-built CMake binary. This allows the MemCheck test mode to check the correct CMake.
* Merge branch 'per-config-link-flags'Brad King2010-06-075-0/+69
|\
| * Intel-specific workaround for LinkFlags testsBrad King2010-06-033-2/+13
| | | | | | | | | | | | | | | | The Intel C compiler for Linux does not seem to reject any bad flags or object files on its link lines. Work around the problem by using a preprocessor #error directive to ensure that BADFLAG appears in the build output. This does not really achieve the purpose of the tests but it allows them to pass.
| * Borland-specific bad flag for LinkFlags testsBrad King2010-06-021-6/+9
| | | | | | | | | | | | The Borland librarian actually creates a BADFLAG.obj when the object is missing the first time! This causes later tests to not reject it. Instead use a Borland-specific variation on the flag.
| * Better "bad" flag in LinkFlags testBrad King2010-06-011-6/+7
| | | | | | | | | | The Intel C Compiler for Linux ignores _BADFLAG_ when linking! Use a flag that looks like a missing object file to ensure its rejection.
| * Add STATIC_LIBRARY_FLAGS_<CONFIG> property (#10768)Brad King2010-05-281-3/+0
| | | | | | | | This is a per-configuration version of STATIC_LIBRARY_FLAGS.
| * Test LINK_FLAGS and STATIC_LIBRARY_FLAGS (#10768)Brad King2010-05-284-0/+57
| | | | | | | | | | | | Add a LinkFlags test series to check that these properties work. Since no link flag is accepted everywhere we test for presence of flags by adding a bad flag and looking for the complaint in the test output.
* | Merge branch 'fix-large-output-test'Brad King2010-06-072-0/+6
|\ \
| * | Use the long test timeout value for SubmitLargeOutput.David Cole2010-06-032-0/+6
| |/ | | | | | | | | | | Hopefully this will be a large enough value to get the large output test to pass on the still exceedingly slow dash19.
* | Merge branch 'update_release_scripts'Brad King2010-06-071-1/+1
|\ \
| * | change nightly release builds to use next, and move qmake on dash2win64Bill Hoffman2010-05-281-1/+1
| |/
* | Merge branch 'add-git-to-CheckSourceTreeTest'Brad King2010-06-072-53/+176
|\ \
| * | Allow return value of 1 from git status.David Cole2010-05-281-3/+3
| | |
| * | Further refinements to the CheckSourceTree test.David Cole2010-05-271-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | Echo results of calling git status before exiting with an error. Add one special case so that the test may pass on the dashmacmini2 continuous dashboard, despite a 'git status' non-zero return code. More logic like this may be required. I will re-evaluate based on tomorrow's nightly dashboard runs.
| * | Add git support to the CMake.CheckSourceTree test.David Cole2010-05-272-53/+153
| |/ | | | | | | | | | | | | | | | | | | Additionally, output some more information in both cvs and git cases. When it is a cvs checkout, echo the contents of CVS/Root and CVS/Repository to the test output. When it is a git checkout, echo the output of 'git branch -a'. This will allow us to see more details about any given CMake source tree right in the CDash results for this test.
* | Merge branch 'improve-file-download'Brad King2010-06-074-0/+54
|\ \ | | | | | | | | | | | | Conflicts: Modules/ExternalProject.cmake
| * | Improve FILE(DOWNLOAD) and ExternalProject.David Cole2010-05-274-0/+54
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve FILE(DOWNLOAD ...): - Add percent complete progress output to the FILE DOWNLOAD command. This progress output is off by default to preserve existing behavior. To turn it on, pass SHOW_PROGRESS as an argument. - Add EXPECTED_MD5 argument. Verify that the downloaded file has the expected md5 sum after download is complete. - Add documentation for SHOW_PROGRESS and EXPECTED_MD5. When the destination file exists already and has the expected md5 sum, then do not bother re-downloading the file. ("Short circuit" return.) Also, add a test that checks for the status output indicating that the short circuit behavior is actually occurring. Use a binary file for the test so that the md5 sum is guaranteed to be the same on all platforms regardless of "shifting text file line ending" issues. Improve ExternalProject: - Add argument URL_MD5. - Add verify step that compares md5 sum of .tar.gz file before extracting it. - Add md5 check to download step, too, to prevent unnecessary downloads. - Emit a warning message when a file is not verified. Indicate that the file may be corrupt or that no checksum was specified.
* | Merge branch 'add-git-to-ExternalProject'Brad King2010-06-072-4/+84
|\ \ | | | | | | | | | | | | Conflicts: Modules/ExternalProject.cmake
| * | Add FindGit module.David Cole2010-06-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use it from ExternalProject and the ExternalProject test's CMakeLists file rather than having duplicate find_program calls. Add logic so that we do not try to use *.cmd variants of git programs when using the MSYS Makefiles generator. Should fix the last remaining dashboard issue with the new ExternalProject git support additions. Also, correct minor problem regarding placement of the local git repo during test execution. On clean builds, it was being placed incorrectly because of the ../.. relative reference. Use an absolute path to place the local git repo in the proper directory, and only use the relative reference when referring to it.
| * | Use relative path for git repo reference.David Cole2010-06-031-1/+1
| | | | | | | | | | | | | | | So it will work with git_EXECUTABLE='C:\cygwin\bin\git.exe' in a non-cygwin-based build.
| * | Fix ExternalProject test failures on dashboards.David Cole2010-06-021-3/+16
| | | | | | | | | | | | | | | | | | Double quote executable names that may have spaces in them. Do not run the new git portions of the test on machines that have git < version 1.6.5 on them.
| * | Add git support to ExternalProject.David Cole2010-06-022-2/+69
| |/ | | | | | | | | Requires at least version 1.6.5 of a git client for git submodule update --recursive use.
* | Add .zip and .tar.bz2 extraction to ExternalProject.David Cole2010-05-316-1/+64
|/ | | | | | | | | Add archives of these file types and add to the test cases covered in the ExternalProject test. Also add an "Example" directory in the Tests/ExternalProject directory containing the canonical simplest example of ExternalProject usage.
* Merge branch 'version'Brad King2010-05-171-1/+2
|\
| * Report commit hash in CMake development versionsBrad King2010-04-231-1/+2
| | | | | | | | | | | | For builds from Git repositories, add "-g<commit>" to the end of the version number. If the source tree is modified, append "-dirty". For builds from CVS checkouts, add "-cvs-<branch>".
* | Disable purify on unix, as it works differently and ctest can't use it.Bill Hoffman2010-05-112-0/+16
| |
* | Fix CTestTestScheduler sporadic failure.Zach Mullen2010-05-073-5/+5
| | | | | | | | Increased the time difference between each test so that overburdened systems won't fail this test sometimes.
* | CTest: Submit author email in Update.xmlBrad King2010-05-071-0/+7
| | | | | | | | | | | | | | Add the <Email>...</Email> element in Update.xml for each commit reported. This field was defined by Dart but never really used. Distributed version control systems use author name and email instead of a user id, so now it makes sense to use this field.
* | Fix 'Architecture' test for more Mac linkersBrad King2010-05-061-1/+1
| | | | | | | | | | | | | | | | | | Some Mac linkers produce the message "file was built for unsupported file format which is not the architecture being linked" for this test. Update the test output regex to match it.
* | Teach ctest_update about Git submodulesBrad King2010-05-042-2/+71
| | | | | | | | | | | | | | | | | | | | | | Git does not automatically checkout the matching version of a submodule when it checks out a new version of the parent project in the work tree. If the submodule reference changed in the parent project then we were reporting the submodule path as a local modification. Work around the problem in ctest_update using "git submodule update" after "git pull". For projects with no submodules this is a no-op. See issue #10662. Also add a submodule to the test project for CTest.UpdateGIT to test the work-around.
* | Fix missing set of MSVC10 and add CheckCompilerRelatedVariables test.David Cole2010-04-302-0/+87
|/
* Fix for StopTime for cases when gmtime is a day ahead of localtimeZach Mullen2010-03-181-2/+2
|
* More debugging of StopTime testZach Mullen2010-03-182-3/+16
|
* Output times during StopTime test for debuggingZach Mullen2010-03-171-0/+4
|
* Move get_date call closer to ctest_test for more predictable results.Zach Mullen2010-03-171-3/+4
|
* Add the --stop-time argumentZach Mullen2010-03-176-1/+304
| | | | Unit test and script hook for STOP_TIME
* Add CMAKE_TESTS_CDASH_SERVER variable and CTestSubmitLargeOutput test.David Cole2010-03-087-4/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If defined and non-empty, the value of CMAKE_TESTS_CDASH_SERVER should point to a CDash server willing to accept submissions for a project named PublicDashboard. On machines that also run a CDash dashboard, set this variable to "http://localhost/CDash-trunk-Testing" so that the CMake tests that submit dashboards do not have to send those submissions over the wire. The CTestSubmitLargeOutput test runs a dashboard that has a test that produces very large amount of output on stdout/stderr. Since we do not even want to attempt to send such large output over the wire, this test is off by default unless the CMAKE_TESTS_CDASH_SERVER server is localhost. This test is expected to cause a submission failure when sent to CDash. It passes if the submit results contain error output. It fails if the submit succeeds. CMAKE_TESTS_CDASH_SERVER: CDash server used by CMake/Tests. If not defined or "", this variable defaults to the server at http://www.cdash.org/CDash. If set explicitly to "NOTFOUND", curl tests and ctest tests that use the network are skipped. If set to something starting with "http://localhost/", the CDash is expected to be an instance of CDash used for CDash testing, pointing to a cdash4simpletest database. In these cases, the CDash dashboards should be run first.
* Remove empty_binary_dir command in new unit testZach Mullen2010-03-032-3/+1
|