Ver código fonte

Handle multiple carriage return issue on windows VS9. Also make sure that running ctest in showonly mode does not kill our cost store, since many ctest tests do this and corrupt our cost data.

Zach Mullen 16 anos atrás
pai
commit
2921fa96ed

+ 5 - 2
Source/CTest/cmCTestMultiProcessHandler.cxx

@@ -43,8 +43,11 @@ cmCTestMultiProcessHandler::SetTests(TestMap& tests,
     this->TestRunningMap[i->first] = false;
     this->TestFinishMap[i->first] = false;
     }
-  this->ReadCostData();
-  this->CreateTestCostList();
+  if(!this->CTest->GetShowOnly())
+    {
+    this->ReadCostData();
+    this->CreateTestCostList();
+    }
 }
 
   // Set the max number of tests that can be run at the same time.

+ 4 - 1
Source/CTest/cmProcess.cxx

@@ -79,7 +79,10 @@ bool cmProcess::Buffer::GetLine(std::string& line)
       // Extract the range first..last as a line.
       const char* text = &*this->begin() + this->First;
       size_type length = this->Last - this->First;
-      length -= (length && text[length-1] == '\r')? 1:0;
+      while(length && text[length-1] == '\r')
+        {
+        length --;
+        }
       line.assign(text, length);
 
       // Start a new range for the next line.