浏览代码

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;
 }
 
 //----------------------------------------------------------------------