summaryrefslogtreecommitdiff
path: root/Tests/CTestUpdateCVS.cmake.in
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-06-11 09:00:01 -0400
committerBrad King <brad.king@kitware.com>2015-06-11 11:00:48 -0400
commit493388ce48cb4188068c6f0379bb2afa60c0a41a (patch)
tree6889955607c65377409721fc2d983cdb565194ab /Tests/CTestUpdateCVS.cmake.in
parentbcf258032fe79c75965722f25ec5f76ff472a19c (diff)
downloadcmake-493388ce48cb4188068c6f0379bb2afa60c0a41a.tar.gz
ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610)
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.
Diffstat (limited to 'Tests/CTestUpdateCVS.cmake.in')
-rw-r--r--Tests/CTestUpdateCVS.cmake.in19
1 files changed, 19 insertions, 0 deletions
diff --git a/Tests/CTestUpdateCVS.cmake.in b/Tests/CTestUpdateCVS.cmake.in
index 1699c3f1f1..277b3a6032 100644
--- a/Tests/CTestUpdateCVS.cmake.in
+++ b/Tests/CTestUpdateCVS.cmake.in
@@ -170,3 +170,22 @@ set(CTEST_CHECKOUT_COMMAND
# Run the dashboard script with CTest.
run_dashboard_script(dash-binary)
+
+#-----------------------------------------------------------------------------
+# Test ctest_update(RETURN_VALUE) on failure
+message("Running CTest Dashboard Script (fail to update)...")
+
+set(ctest_update_check [[
+if(NOT ret LESS 0)
+ message(FATAL_ERROR "ctest_update incorrectly succeeded with ${ret}")
+endif()
+]])
+create_dashboard_script(dash-binary-fail
+ "set(CTEST_CVS_COMMAND \"update-command-does-not-exist\")
+")
+unset(ctest_update_check)
+
+# Run the dashboard script with CTest.
+set(FAIL_UPDATE 1)
+run_dashboard_script(dash-binary-fail)
+unset(FAIL_UPDATE)