summaryrefslogtreecommitdiffstats
path: root/Tests/CTestUpdateCommon.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Build: Modernize some `foreach` calls to use `IN LISTS`/`IN ITEMS`Alex Turbov2022-09-221-3/+3
|
* Remove unnecessary CTEST_PROJECT_NAME variablesRegina Pfeifer2018-11-201-1/+0
|
* Use string(APPEND) in TestsDaniel Pfeifer2016-07-271-6/+6
| | | | | | | Automate with: find Tests -type f -print0 | xargs -0 perl -i -0pe \ 's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
* ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610)Brad King2015-06-111-0/+20
| | | | | | | Make RETURN_VALUE report -1 if the update command failed as the documentation claims. Also avoid reporting a ctest script-level failure if the update command fails because we still correctly administered the update step.
* Tests: Teach CTest.Update* tests to check ctest_update return codeBrad King2015-06-111-2/+10
|
* Tests: Simplify CTest.UpdateGIT QUIET mode testBrad King2015-06-111-1/+1
| | | | | Parameterize the dashboard script generation to configure custom content. Also move state cleanup from previous test back to its block.
* ctest_update: Add QUIET optionZack Galbreath2015-02-231-0/+6
|
* ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the versionBill Hoffman2014-08-181-7/+41
| | | | | | | This allows ctest_update to get the current version without actually changing the repository. This is useful when using Jenkins or an external project to update the source to a specific version, but you still want the current version to show up in CDash.
* Replace string(REGEX REPLACE) with string(REPLACE) where possibleRolf Eike Beer2014-04-141-2/+2
| | | | The simple replacement is much faster.
* ctest_update: Handle P4 unknown revisions more robustlyPedro Navarro2014-01-221-1/+3
| | | | | | Mark unknown revisions as such and fail instead of reporting revision 0. Otherwise CTest reports massive file updates between revisions when the server timeouts while trying to fetch the current revision number.
* ctest_update: Do not remove the p4 depot namePedro Navarro2013-11-011-0/+9
| | | | | | Instead of removing the depot name, which causes problems when looking at the file change list in CDash, make the Update test remove a given prefix from the files retrieved from Update.xml.
* ctest_update: Add support for Perforce p4 clientPedro Navarro2013-10-261-1/+1
| | | | | | | | | | | Teach the ctest_update implementation to use the p4 command-line client to perform updates and extract the list of changes. Add a CTest.UpdateP4 test like those that exist already for the other version control tools. Make the test available when p4 and the p4d server are found. During the test launch p4d in the background to serve a repository from the test directory. Then direct the client toward this server for the duration of the test.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-22/+22
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Fix machine-specific UpdateGIT test failuresDavid Cole2011-07-291-3/+5
| | | | | | Generated Update.xml file is larger than the previously hard-coded limit of 4096. Introduce variable max_update_xml_size and bump it up to 16k for reliable test runs.
* ctest_update: Support Git upstream branch rewritesBrad King2010-06-081-1/+5
| | | | | | | | | | | | | 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.
* Generalize CTest.Update* test dashboard script helpersBrad King2010-06-081-6/+6
| | | | | | | 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.
* Teach ctest_update about Git submodulesBrad King2010-05-041-2/+2
| | | | | | | | | | | 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.
* Make CTest.UpdateCVS robust to some cvs clientsBrad King2010-02-101-2/+2
| | | | | | | | | | | | | | Commit "Teach CTest.Update tests to strongly check entries" (2010-02-09) started checking Update.xml entries strongly. This revealed that some cvs clients report "U CTestConfig.cmake" during update even though the file did not change and it selects the same revision. As a result the test fails with Update.xml has extra unexpected entries: Updated{CTestConfig.cmake} We fix the test to tolerate this particular extra entry without failing.
* Teach CTest.Update tests to strongly check entriesBrad King2010-02-091-19/+47
| | | | | | Previously these tests just checked for matching file names in the Update.xml files. Now we check the update types (Updated, Modified, or Conflicting) and reject unexpected extra entries.
* Test for SVNPath element in Update.xmlBrad King2009-12-181-3/+3
| | | | | | | The commit "Submit Subversion directory path in Update.xml" added the element <SVNPath>...</SVNPath> to Update.xml for Subversion work trees. This commit teaches the CTest.UpdateSVN test to verify the presence of the element.
* Submit global tree revision in Update.xmlBrad King2009-12-181-0/+19
| | | | | | | We teach CTest to report in a <Revision> element the revision of the source tree that was tested. This makes sense for all modern VCS tools because they version the whole tree. We simply omit this element for CVS because it only versions files. See issue #7541.
* Output command that failed, if it fails.Bill Hoffman2009-08-121-1/+2
|
* ENH: Extend CTest.UpdateSVN to test local modsBrad King2009-02-261-1/+7
| | | | | This teaches the test to create local modifications in the work tree before updating.
* BUG: Fix CTest.UpdateCVS/SVN tests for win slashesBrad King2009-02-231-1/+3
| | | | | This fixes the tests to allow windows slashes in reported file names in the generated Update.xml file.
* ENH: Enhance CTest.UpdateCVS/SVN testsBrad King2009-02-231-4/+17
| | | | | This adds a source tree subdirectory to the content of the test projects. It also smoke tests more than one revision worth of changes.
* ENH: Better failure output from CTest.Update*Brad King2009-02-231-1/+1
| | | | | This teaches CTestUpdateCommon to report the process exit condition from failed child processes executed during tests.
* ENH: Test CTest update logic with VCS toolsBrad King2008-10-191-0/+159
This creates new tests "CTest.UpdateSVN" and "CTest.UpdateCVS". They test that the Update.xml produced by CTest for a version-controlled project contains entries for files added, changed, and removed.