Ver Fonte

CTest: Prevent creation of unbounded number of tests in ctest (#12904)

Note it is still possible for CTest to start more than the number of
processes specified by PARALLEL_LEVEL, but this prevents the number of
tests to start from being unbounded because of overflow.
Casey Goodlett há 13 anos atrás
pai
commit
324780697c
1 ficheiros alterados com 6 adições e 1 exclusões
  1. 6 1
      Source/CTest/cmCTestMultiProcessHandler.cxx

+ 6 - 1
Source/CTest/cmCTestMultiProcessHandler.cxx

@@ -248,7 +248,12 @@ bool cmCTestMultiProcessHandler::StartTest(int test)
 //---------------------------------------------------------
 //---------------------------------------------------------
 void cmCTestMultiProcessHandler::StartNextTests()
 void cmCTestMultiProcessHandler::StartNextTests()
 {
 {
-  size_t numToStart = this->ParallelLevel - this->RunningCount;
+  size_t numToStart = 0;
+  if(this->RunningCount < this->ParallelLevel)
+    {
+    numToStart = this->ParallelLevel - this->RunningCount;
+    }
+
   if(numToStart == 0)
   if(numToStart == 0)
     {
     {
     return;
     return;