瀏覽代碼

BUG: Fix return value of ctest_update

The CTest version control refactoring broke the value returned for the
ctest_update command's RETURN_VALUE argument.  The value is supposed to
be the number of files updated, but the refactoring accidentally made it
the number of locally modified files after the update.
Brad King 16 年之前
父節點
當前提交
d66436e2e4
共有 2 個文件被更改,包括 4 次插入4 次删除
  1. 1 2
      Source/CTest/cmCTestUpdateCommand.h
  2. 3 2
      Source/CTest/cmCTestUpdateHandler.cxx

+ 1 - 2
Source/CTest/cmCTestUpdateCommand.h

@@ -64,8 +64,7 @@ public:
       "Updates the given source directory and stores results in Update.xml. "
       "If no SOURCE is given, the CTEST_SOURCE_DIRECTORY variable is used. "
       "The RETURN_VALUE option specifies a variable in which to store the "
-      "result, which is -1 on error, non-negative for success, and positive "
-      "if there are local modifications in the work tree."
+      "result, which is the number of files updated or -1 on error."
       ;
     }
 

+ 3 - 2
Source/CTest/cmCTestUpdateHandler.cxx

@@ -248,7 +248,8 @@ int cmCTestUpdateHandler::ProcessHandler()
   vc->WriteXML(os);
 
   int localModifications = 0;
-  if(int numUpdated = vc->GetPathCount(cmCTestVC::PathUpdated))
+  int numUpdated = vc->GetPathCount(cmCTestVC::PathUpdated);
+  if(numUpdated)
     {
     cmCTestLog(this->CTest, HANDLER_OUTPUT,
                "   Found " << numUpdated << " updated files\n");
@@ -290,7 +291,7 @@ int cmCTestUpdateHandler::ProcessHandler()
     }
   os << "</UpdateReturnStatus>" << std::endl;
   os << "</Update>" << std::endl;
-  return localModifications;
+  return numUpdated;
 }
 
 //----------------------------------------------------------------------