This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via 532974435f9b723aa6f8f52ffc0cfed46c91d421 (commit) via 493388ce48cb4188068c6f0379bb2afa60c0a41a (commit) via bcf258032fe79c75965722f25ec5f76ff472a19c (commit) via b6667729cb40dec8aff28464152dfa1b7c92decc (commit) from b39c01dbb626bbbf2ce145311824997ad8965b33 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=532974435f9b723aa6f8f52ffc0cfed46c91d421 commit 532974435f9b723aa6f8f52ffc0cfed46c91d421 Merge: b39c01d 493388c Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jun 11 11:16:44 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Jun 11 11:16:44 2015 -0400 Merge topic 'ctest_update-RETURN_VALUE' into next 493388ce ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610) bcf25803 Tests: Teach CTest.Update* tests to check ctest_update return code b6667729 Tests: Simplify CTest.UpdateGIT QUIET mode test http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=493388ce48cb4188068c6f0379bb2afa60c0a41a commit 493388ce48cb4188068c6f0379bb2afa60c0a41a Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jun 11 09:00:01 2015 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jun 11 11:00:48 2015 -0400 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. diff --git a/Source/CTest/cmCTestUpdateHandler.cxx b/Source/CTest/cmCTestUpdateHandler.cxx index 8494d28..963e501 100644 --- a/Source/CTest/cmCTestUpdateHandler.cxx +++ b/Source/CTest/cmCTestUpdateHandler.cxx @@ -283,13 +283,13 @@ int cmCTestUpdateHandler::ProcessHandler() { xml.Content("Update command failed:\n"); xml.Content(vc->GetUpdateCommandLine()); - cmCTestLog(this->CTest, ERROR_MESSAGE, " Update command failed: " + cmCTestLog(this->CTest, HANDLER_OUTPUT, " Update command failed: " << vc->GetUpdateCommandLine() << "\n"); } xml.EndElement(); // UpdateReturnStatus xml.EndElement(); // Update xml.EndDocument(); - return numUpdated; + return updated? numUpdated : -1; } //---------------------------------------------------------------------- diff --git a/Tests/CTestUpdateCVS.cmake.in b/Tests/CTestUpdateCVS.cmake.in index 1699c3f..277b3a6 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) diff --git a/Tests/CTestUpdateCommon.cmake b/Tests/CTestUpdateCommon.cmake index df1a713..458e427 100644 --- a/Tests/CTestUpdateCommon.cmake +++ b/Tests/CTestUpdateCommon.cmake @@ -258,6 +258,24 @@ function(check_no_update bin_dir) endif() endfunction() +#----------------------------------------------------------------------------- +# Function to find the Update.xml file and make sure +# it only has the UpdateReturnStatus failure message and no updates. +function(check_fail_update bin_dir) + set(PATTERN ${TOP}/${bin_dir}/Testing/*/Update.xml) + file(GLOB UPDATE_XML_FILE RELATIVE ${TOP} ${PATTERN}) + string(REGEX REPLACE "//Update.xml$" "/Update.xml" + UPDATE_XML_FILE "${UPDATE_XML_FILE}") + message(" found ${UPDATE_XML_FILE}") + file(STRINGS ${TOP}/${UPDATE_XML_FILE} UPDATE_XML_STATUS + REGEX "^\t<UpdateReturnStatus>[^<\n]+" + ) + if(UPDATE_XML_STATUS MATCHES "Update command failed") + message(" correctly found 'Update command failed'") + else() + message(FATAL_ERROR " missing 'Update command failed'") + endif() +endfunction() #----------------------------------------------------------------------------- # Function to run the dashboard through a script @@ -271,6 +289,8 @@ function(run_dashboard_script bin_dir) list(APPEND UPDATE_MAYBE Updated{subdir} Updated{CTestConfig.cmake}) if(NO_UPDATE) check_no_update(${bin_dir}) + elseif(FAIL_UPDATE) + check_fail_update(${bin_dir}) else() check_updates(${bin_dir} Updated{foo.txt} diff --git a/Tests/CTestUpdateGIT.cmake.in b/Tests/CTestUpdateGIT.cmake.in index 3734e2b..6488a1f 100644 --- a/Tests/CTestUpdateGIT.cmake.in +++ b/Tests/CTestUpdateGIT.cmake.in @@ -358,3 +358,23 @@ run_dashboard_script(dash-binary-quiet) if("${OUTPUT}" MATCHES "Updating the repository") message(FATAL_ERROR "Found 'Updating the repository' in quiet output") endif() + +#----------------------------------------------------------------------------- +# 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_GIT_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) diff --git a/Tests/CTestUpdateHG.cmake.in b/Tests/CTestUpdateHG.cmake.in index c5440f9..c76bf91 100644 --- a/Tests/CTestUpdateHG.cmake.in +++ b/Tests/CTestUpdateHG.cmake.in @@ -164,3 +164,22 @@ execute_process( # 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_HG_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) diff --git a/Tests/CTestUpdateSVN.cmake.in b/Tests/CTestUpdateSVN.cmake.in index b5728fd..b757a44 100644 --- a/Tests/CTestUpdateSVN.cmake.in +++ b/Tests/CTestUpdateSVN.cmake.in @@ -147,3 +147,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_SVN_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) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bcf258032fe79c75965722f25ec5f76ff472a19c commit bcf258032fe79c75965722f25ec5f76ff472a19c Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jun 11 09:51:08 2015 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jun 11 10:57:32 2015 -0400 Tests: Teach CTest.Update* tests to check ctest_update return code diff --git a/Tests/CTestUpdateCommon.cmake b/Tests/CTestUpdateCommon.cmake index 0bb2d30..df1a713 100644 --- a/Tests/CTestUpdateCommon.cmake +++ b/Tests/CTestUpdateCommon.cmake @@ -182,6 +182,14 @@ endfunction() #----------------------------------------------------------------------------- # Function to write the dashboard test script. function(create_dashboard_script bin_dir custom_text) + if (NOT ctest_update_check) + set(ctest_update_check [[ +if(ret LESS 0) + message(FATAL_ERROR "ctest_update failed with ${ret}") +endif() +]]) + endif() + # Write the dashboard script. file(WRITE ${TOP}/${bin_dir}.cmake "# CTest Dashboard Script @@ -193,8 +201,8 @@ set(CTEST_BINARY_DIRECTORY \${CTEST_DASHBOARD_ROOT}/${bin_dir}) ${custom_text} # Start a dashboard and run the update step ctest_start(Experimental) -ctest_update(SOURCE \${CTEST_SOURCE_DIRECTORY} ${ctest_update_args}) -") +ctest_update(SOURCE \${CTEST_SOURCE_DIRECTORY} RETURN_VALUE ret ${ctest_update_args}) +${ctest_update_check}") endfunction() #----------------------------------------------------------------------------- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b6667729cb40dec8aff28464152dfa1b7c92decc commit b6667729cb40dec8aff28464152dfa1b7c92decc Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jun 11 09:44:05 2015 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jun 11 10:57:20 2015 -0400 Tests: Simplify CTest.UpdateGIT QUIET mode test Parameterize the dashboard script generation to configure custom content. Also move state cleanup from previous test back to its block. diff --git a/Tests/CTestUpdateCommon.cmake b/Tests/CTestUpdateCommon.cmake index 77b3398..0bb2d30 100644 --- a/Tests/CTestUpdateCommon.cmake +++ b/Tests/CTestUpdateCommon.cmake @@ -193,7 +193,7 @@ set(CTEST_BINARY_DIRECTORY \${CTEST_DASHBOARD_ROOT}/${bin_dir}) ${custom_text} # Start a dashboard and run the update step ctest_start(Experimental) -ctest_update(SOURCE \${CTEST_SOURCE_DIRECTORY}) +ctest_update(SOURCE \${CTEST_SOURCE_DIRECTORY} ${ctest_update_args}) ") endfunction() diff --git a/Tests/CTestUpdateGIT.cmake.in b/Tests/CTestUpdateGIT.cmake.in index 5987a30..3734e2b 100644 --- a/Tests/CTestUpdateGIT.cmake.in +++ b/Tests/CTestUpdateGIT.cmake.in @@ -334,31 +334,22 @@ set(CTEST_UPDATE_VERSION_ONLY TRUE) # Run the dashboard script with CTest. set(NO_UPDATE 1) run_dashboard_script(dash-binary-no-update) +unset(NO_UPDATE) rewind_source(dash-source) #----------------------------------------------------------------------------- # Test ctest_update(QUIET) -set(NO_UPDATE 0) message("Running CTest Dashboard Script (update quietly)...") +set(ctest_update_args QUIET) create_dashboard_script(dash-binary-quiet "# git command configuration set(CTEST_GIT_COMMAND \"${GIT}\") set(CTEST_GIT_UPDATE_OPTIONS) set(CTEST_GIT_UPDATE_CUSTOM \${CTEST_GIT_COMMAND} pull origin master) ") - -# We need to modify the created dashboard script to include our "QUIET" -# option. -set(filename "${TOP}/dash-binary-quiet.cmake") -file(READ "${filename}" contents) -string(REPLACE - [=[ctest_update(SOURCE ${CTEST_SOURCE_DIRECTORY})]=] - [=[ctest_update(SOURCE ${CTEST_SOURCE_DIRECTORY} QUIET)]=] - contents - "${contents}") -file(WRITE "${filename}" "${contents}") +unset(ctest_update_args) # Run the dashboard script with CTest. run_dashboard_script(dash-binary-quiet) ----------------------------------------------------------------------- Summary of changes: Source/CTest/cmCTestUpdateHandler.cxx | 4 ++-- Tests/CTestUpdateCVS.cmake.in | 19 ++++++++++++++++++ Tests/CTestUpdateCommon.cmake | 32 ++++++++++++++++++++++++++++-- Tests/CTestUpdateGIT.cmake.in | 35 ++++++++++++++++++++++----------- Tests/CTestUpdateHG.cmake.in | 19 ++++++++++++++++++ Tests/CTestUpdateSVN.cmake.in | 19 ++++++++++++++++++ 6 files changed, 112 insertions(+), 16 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits