From 7bca3f8c800510509be3468f57226daf5708e91c Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 2 Nov 2023 15:50:49 -0400 Subject: cmCTestMultiProcessHandler: Avoid extra copy of test maps --- Source/CTest/cmCTestMultiProcessHandler.cxx | 8 ++++---- Source/CTest/cmCTestMultiProcessHandler.h | 2 +- Source/CTest/cmCTestTestHandler.cxx | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx index c80bfff..f2c89f8 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.cxx +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx @@ -83,11 +83,11 @@ cmCTestMultiProcessHandler::cmCTestMultiProcessHandler() cmCTestMultiProcessHandler::~cmCTestMultiProcessHandler() = default; // Set the tests -void cmCTestMultiProcessHandler::SetTests(TestMap& tests, - PropertiesMap& properties) +void cmCTestMultiProcessHandler::SetTests(TestMap tests, + PropertiesMap properties) { - this->Tests = tests; - this->Properties = properties; + this->Tests = std::move(tests); + this->Properties = std::move(properties); this->Total = this->Tests.size(); if (!this->CTest->GetShowOnly()) { this->ReadCostData(); diff --git a/Source/CTest/cmCTestMultiProcessHandler.h b/Source/CTest/cmCTestMultiProcessHandler.h index 7b288cf..4bf0844 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.h +++ b/Source/CTest/cmCTestMultiProcessHandler.h @@ -57,7 +57,7 @@ public: cmCTestMultiProcessHandler(); virtual ~cmCTestMultiProcessHandler(); // Set the tests - void SetTests(TestMap& tests, PropertiesMap& properties); + void SetTests(TestMap tests, PropertiesMap properties); // Set the max number of tests that can be run at the same time. void SetParallelLevel(size_t); void SetTestLoad(unsigned long load); diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx index eb3b4dd..2fcef90 100644 --- a/Source/CTest/cmCTestTestHandler.cxx +++ b/Source/CTest/cmCTestTestHandler.cxx @@ -1385,7 +1385,7 @@ bool cmCTestTestHandler::ProcessDirectory(std::vector& passed, properties[p.Index] = &p; } parallel->SetResourceSpecFile(this->ResourceSpecFile); - parallel->SetTests(tests, properties); + parallel->SetTests(std::move(tests), std::move(properties)); parallel->SetPassFailVectors(&passed, &failed); this->TestResults.clear(); parallel->SetTestResults(&this->TestResults); -- cgit v0.12