[Cmake-commits] CMake branch, next, updated. v3.3.0-rc2-419-g5329744

Brad King brad.king at kitware.com
Thu Jun 11 11:16:45 EDT 2015


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.king at kitware.com>
AuthorDate: Thu Jun 11 11:16:44 2015 -0400
Commit:     CMake Topic Stage <kwrobot at 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.king at kitware.com>
AuthorDate: Thu Jun 11 09:00:01 2015 -0400
Commit:     Brad King <brad.king at 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.king at kitware.com>
AuthorDate: Thu Jun 11 09:51:08 2015 -0400
Commit:     Brad King <brad.king at 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.king at kitware.com>
AuthorDate: Thu Jun 11 09:44:05 2015 -0400
Commit:     Brad King <brad.king at 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


More information about the Cmake-commits mailing list