summaryrefslogtreecommitdiffstats
path: root/Source/CTest
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-11-15 19:37:52 (GMT)
committerBrad King <brad.king@kitware.com>2023-11-17 23:41:40 (GMT)
commit1f8f270f625d32486d1af7e7eac691bcafb5c2e4 (patch)
treed37d022b1e30663444e28f3a5e9c22a2612f626f /Source/CTest
parentc896dc78f970aa154a722e65dc099d2c6d3b3bcd (diff)
downloadCMake-1f8f270f625d32486d1af7e7eac691bcafb5c2e4.zip
CMake-1f8f270f625d32486d1af7e7eac691bcafb5c2e4.tar.gz
CMake-1f8f270f625d32486d1af7e7eac691bcafb5c2e4.tar.bz2
cmCTestRunTest: Consolidate initialization in constructor
Diffstat (limited to 'Source/CTest')
-rw-r--r--Source/CTest/cmCTestMultiProcessHandler.cxx12
-rw-r--r--Source/CTest/cmCTestRunTest.cxx9
-rw-r--r--Source/CTest/cmCTestRunTest.h19
3 files changed, 15 insertions, 25 deletions
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx
index ca07a08..24e8569 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.cxx
+++ b/Source/CTest/cmCTestMultiProcessHandler.cxx
@@ -176,14 +176,12 @@ bool cmCTestMultiProcessHandler::StartTestProcess(int test)
this->EraseTest(test);
this->RunningCount += this->GetProcessorsUsed(test);
- auto testRun = cm::make_unique<cmCTestRunTest>(*this);
+ auto testRun = cm::make_unique<cmCTestRunTest>(*this, test);
if (this->RepeatMode != cmCTest::Repeat::Never) {
testRun->SetRepeatMode(this->RepeatMode);
testRun->SetNumberOfRuns(this->RepeatCount);
}
- testRun->SetIndex(test);
- testRun->SetTestProperties(this->Properties[test]);
if (this->UseResourceSpec) {
testRun->SetUseAllocatedResources(true);
testRun->SetAllocatedResources(this->AllocatedResources[test]);
@@ -1259,9 +1257,7 @@ void cmCTestMultiProcessHandler::PrintOutputAsJson()
// Don't worry if this fails, we are only showing the test list, not
// running the tests
cmWorkingDirectory workdir(p.Directory);
- cmCTestRunTest testRun(*this);
- testRun.SetIndex(p.Index);
- testRun.SetTestProperties(&p);
+ cmCTestRunTest testRun(*this, p.Index);
testRun.ComputeArguments();
// Skip tests not available in this configuration.
@@ -1298,9 +1294,7 @@ void cmCTestMultiProcessHandler::PrintTestList()
// running the tests
cmWorkingDirectory workdir(p.Directory);
- cmCTestRunTest testRun(*this);
- testRun.SetIndex(p.Index);
- testRun.SetTestProperties(&p);
+ cmCTestRunTest testRun(*this, p.Index);
testRun.ComputeArguments(); // logs the command in verbose mode
if (!p.Labels.empty()) // print the labels
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx
index 8ceb9db..d6b6d41 100644
--- a/Source/CTest/cmCTestRunTest.cxx
+++ b/Source/CTest/cmCTestRunTest.cxx
@@ -27,11 +27,14 @@
#include "cmSystemTools.h"
#include "cmWorkingDirectory.h"
-cmCTestRunTest::cmCTestRunTest(cmCTestMultiProcessHandler& multiHandler)
+cmCTestRunTest::cmCTestRunTest(cmCTestMultiProcessHandler& multiHandler,
+ int index)
: MultiTestHandler(multiHandler)
+ , Index(index)
+ , CTest(MultiTestHandler.CTest)
+ , TestHandler(MultiTestHandler.TestHandler)
+ , TestProperties(MultiTestHandler.Properties[Index])
{
- this->CTest = multiHandler.CTest;
- this->TestHandler = multiHandler.TestHandler;
}
void cmCTestRunTest::CheckOutput(std::string const& line)
diff --git a/Source/CTest/cmCTestRunTest.h b/Source/CTest/cmCTestRunTest.h
index 34f23c4..154abca 100644
--- a/Source/CTest/cmCTestRunTest.h
+++ b/Source/CTest/cmCTestRunTest.h
@@ -24,7 +24,7 @@
class cmCTestRunTest
{
public:
- explicit cmCTestRunTest(cmCTestMultiProcessHandler& multiHandler);
+ explicit cmCTestRunTest(cmCTestMultiProcessHandler& multiHandler, int index);
void SetNumberOfRuns(int n)
{
@@ -33,18 +33,12 @@ public:
}
void SetRepeatMode(cmCTest::Repeat r) { this->RepeatMode = r; }
- void SetTestProperties(cmCTestTestHandler::cmCTestTestProperties* prop)
- {
- this->TestProperties = prop;
- }
cmCTestTestHandler::cmCTestTestProperties* GetTestProperties()
{
return this->TestProperties;
}
- void SetIndex(int i) { this->Index = i; }
-
int GetIndex() { return this->Index; }
void AddFailedDependency(const std::string& failedTest)
@@ -124,16 +118,15 @@ private:
// Returns "completed/total Test #Index: "
std::string GetTestPrefix(size_t completed, size_t total) const;
- cmCTestTestHandler::cmCTestTestProperties* TestProperties;
- // Pointer back to the "parent"; the handler that invoked this test run
- cmCTestTestHandler* TestHandler;
+ cmCTestMultiProcessHandler& MultiTestHandler;
+ int Index;
cmCTest* CTest;
+ cmCTestTestHandler* TestHandler;
+ cmCTestTestHandler::cmCTestTestProperties* TestProperties;
+
std::unique_ptr<cmProcess> TestProcess;
std::string ProcessOutput;
- // The test results
cmCTestTestHandler::cmCTestTestResult TestResult;
- cmCTestMultiProcessHandler& MultiTestHandler;
- int Index;
std::set<std::string> FailedDependencies;
std::string StartTime;
std::string ActualCommand;