| 
					
				 | 
			
			
				@@ -41,7 +41,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmCMakePresetsGraph.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#include "cmCTestBuildAndTestHandler.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "cmCTestBuildAndTest.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmCTestBuildHandler.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmCTestConfigureHandler.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmCTestCoverageHandler.h" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -83,6 +83,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 struct cmCTest::Private 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  Private(cmCTest* ctest) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    : BuildAndTest(ctest) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** Representation of one part.  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct PartInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -123,7 +128,7 @@ struct cmCTest::Private 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // these are helper classes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmCTestBuildHandler BuildHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  cmCTestBuildAndTestHandler BuildAndTestHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cmCTestBuildAndTest BuildAndTest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmCTestCoverageHandler CoverageHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmCTestScriptHandler ScriptHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmCTestTestHandler TestHandler; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -135,17 +140,16 @@ struct cmCTest::Private 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   std::vector<cmCTestGenericHandler*> GetTestingHandlers() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return { &this->BuildHandler,     &this->BuildAndTestHandler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             &this->CoverageHandler,  &this->ScriptHandler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             &this->TestHandler,      &this->UpdateHandler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             &this->ConfigureHandler, &this->MemCheckHandler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             &this->SubmitHandler,    &this->UploadHandler }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { &this->BuildHandler,    &this->CoverageHandler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             &this->ScriptHandler,   &this->TestHandler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             &this->UpdateHandler,   &this->ConfigureHandler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             &this->MemCheckHandler, &this->SubmitHandler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             &this->UploadHandler }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   std::map<std::string, cmCTestGenericHandler*> GetNamedTestingHandlers() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { { "build", &this->BuildHandler }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             { "buildtest", &this->BuildAndTestHandler }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              { "coverage", &this->CoverageHandler }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              { "script", &this->ScriptHandler }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              { "test", &this->TestHandler }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -342,7 +346,7 @@ std::string cmCTest::DecodeURL(const std::string& in) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 cmCTest::cmCTest() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  : Impl(new Private) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  : Impl(cm::make_unique<Private>(this)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   std::string envValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (cmSystemTools::GetEnv("CTEST_OUTPUT_ON_FAILURE", envValue)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -896,11 +900,6 @@ cmCTestBuildHandler* cmCTest::GetBuildHandler() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return &this->Impl->BuildHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-cmCTestBuildAndTestHandler* cmCTest::GetBuildAndTestHandler() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  return &this->Impl->BuildAndTestHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 cmCTestCoverageHandler* cmCTest::GetCoverageHandler() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return &this->Impl->CoverageHandler; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2564,91 +2563,87 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        this->SetTest("Submit"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return this->SubmitExtraFiles(extra); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    CommandArgument{ "--build-and-test", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     "--build-and-test must have source and binary dir", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     CommandArgument::Values::Two, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     [this, &cmakeAndTest](std::string const& dirs) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       cmakeAndTest = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       cmList dirList{ dirs }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       if (dirList.size() != 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.SourceDir = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         cmSystemTools::CollapseFullPath(dirList[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BinaryDir = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         cmSystemTools::CollapseFullPath(dirList[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       cmSystemTools::MakeDirectory( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         this->Impl->BuildAndTestHandler.BinaryDir); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      "--build-target", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      [this](std::string const& t) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this->Impl->BuildAndTestHandler.BuildTargets.emplace_back(t); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "--build-and-test", "--build-and-test must have source and binary dir", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      CommandArgument::Values::Two, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      [this, &cmakeAndTest](std::string const& dirs) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cmakeAndTest = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cmList dirList{ dirs }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (dirList.size() != 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this->Impl->BuildAndTest.SourceDir = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cmSystemTools::CollapseFullPath(dirList[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this->Impl->BuildAndTest.BinaryDir = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cmSystemTools::CollapseFullPath(dirList[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cmSystemTools::MakeDirectory(this->Impl->BuildAndTest.BinaryDir); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    CommandArgument{ "--build-target", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     [this](std::string const& t) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildTargets.emplace_back(t); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-noclean", CommandArgument::Values::Zero, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const&) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BuildNoClean = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildNoClean = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-nocmake", CommandArgument::Values::Zero, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const&) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BuildNoCMake = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildNoCMake = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-two-config", CommandArgument::Values::Zero, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const&) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BuildTwoConfig = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildTwoConfig = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-run-dir", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const& dir) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BuildRunDir = dir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildRunDir = dir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-exe-dir", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const& dir) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.ExecutableDirectory = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         dir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.ExecutableDirectory = dir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--test-timeout", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const& t) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.Timeout = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.Timeout = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          cmDuration(atof(t.c_str())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-generator", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const& g) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BuildGenerator = g; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildGenerator = g; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    CommandArgument{ "--build-generator-platform", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     [this](std::string const& p) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildGeneratorPlatform = p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    CommandArgument{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      "--build-generator-platform", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      [this](std::string const& p) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this->Impl->BuildAndTestHandler.BuildGeneratorPlatform = p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-generator-toolset", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const& t) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BuildGeneratorToolset = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         t; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildGeneratorToolset = t; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-project", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const& p) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BuildProject = p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildProject = p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-makeprogram", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const& p) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.BuildMakeProgram = p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.BuildMakeProgram = p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "--build-config-sample", CommandArgument::Values::One, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      [this](std::string const& s) -> bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       this->Impl->BuildAndTestHandler.ConfigSample = s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       this->Impl->BuildAndTest.ConfigSample = s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CommandArgument{ "-SP", CommandArgument::Values::One, dashSP }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3028,16 +3023,16 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       while (i + 1 < args.size() && args[i + 1] != "--build-target"_s && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              args[i + 1] != "--test-command"_s) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ++i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this->Impl->BuildAndTestHandler.BuildOptions.emplace_back(args[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this->Impl->BuildAndTest.BuildOptions.emplace_back(args[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!matched && arg == "--test-command"_s && i + 1 < args.size()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       matched = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ++i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this->Impl->BuildAndTestHandler.TestCommand = args[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this->Impl->BuildAndTest.TestCommand = args[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       while (i + 1 < args.size()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ++i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this->Impl->BuildAndTestHandler.TestCommandArgs.emplace_back(args[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this->Impl->BuildAndTest.TestCommandArgs.emplace_back(args[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!matched && cmHasLiteralPrefix(arg, "-") && 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3174,9 +3169,8 @@ int cmCTest::ExecuteTests() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int cmCTest::RunCMakeAndTest(std::string* output) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this->Impl->Verbose = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  cmCTestBuildAndTestHandler* handler = this->GetBuildAndTestHandler(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  int retv = handler->ProcessHandler(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  *output = handler->GetOutput(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  int retv = this->Impl->BuildAndTest.Run(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  *output = this->Impl->BuildAndTest.GetOutput(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifndef CMAKE_BOOTSTRAP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmDynamicLoader::FlushCache(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 |