cmCTestGenericHandler: Add cmCTest* argument to Initialize function
This commit is contained in:
parent
20b35ef622
commit
f5a314cc35
@ -42,7 +42,7 @@ cmCTestBuildCommand::~cmCTestBuildCommand() = default;
|
||||
cmCTestGenericHandler* cmCTestBuildCommand::InitializeHandler()
|
||||
{
|
||||
cmCTestBuildHandler* handler = this->CTest->GetBuildHandler();
|
||||
handler->Initialize();
|
||||
handler->Initialize(this->CTest);
|
||||
|
||||
cmValue ctestBuildCommand =
|
||||
this->Makefile->GetDefinition("CTEST_BUILD_COMMAND");
|
||||
|
@ -189,9 +189,9 @@ cmCTestBuildHandler::cmCTestBuildHandler()
|
||||
this->UseCTestLaunch = false;
|
||||
}
|
||||
|
||||
void cmCTestBuildHandler::Initialize()
|
||||
void cmCTestBuildHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize();
|
||||
this->Superclass::Initialize(ctest);
|
||||
this->StartBuild.clear();
|
||||
this->EndBuild.clear();
|
||||
this->CustomErrorMatches.clear();
|
||||
|
@ -20,6 +20,7 @@
|
||||
class cmMakefile;
|
||||
class cmStringReplaceHelper;
|
||||
class cmXMLWriter;
|
||||
class cmCTest;
|
||||
|
||||
/** \class cmCTestBuildHandler
|
||||
* \brief A class that handles ctest -S invocations
|
||||
@ -43,7 +44,7 @@ public:
|
||||
/**
|
||||
* Initialize handler
|
||||
*/
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
|
||||
int GetTotalErrors() const { return this->TotalErrors; }
|
||||
int GetTotalWarnings() const { return this->TotalWarnings; }
|
||||
|
@ -150,7 +150,7 @@ cmCTestGenericHandler* cmCTestConfigureCommand::InitializeHandler()
|
||||
}
|
||||
|
||||
cmCTestConfigureHandler* handler = this->CTest->GetConfigureHandler();
|
||||
handler->Initialize();
|
||||
handler->Initialize(this->CTest);
|
||||
handler->SetQuiet(this->Quiet);
|
||||
return handler;
|
||||
}
|
||||
|
@ -13,9 +13,9 @@
|
||||
|
||||
cmCTestConfigureHandler::cmCTestConfigureHandler() = default;
|
||||
|
||||
void cmCTestConfigureHandler::Initialize()
|
||||
void cmCTestConfigureHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize();
|
||||
this->Superclass::Initialize(ctest);
|
||||
}
|
||||
|
||||
// clearly it would be nice if this were broken up into a few smaller
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
#include "cmCTestGenericHandler.h"
|
||||
|
||||
class cmCTest;
|
||||
|
||||
/** \class cmCTestConfigureHandler
|
||||
* \brief A class that handles ctest -S invocations
|
||||
*
|
||||
@ -22,5 +24,5 @@ public:
|
||||
|
||||
cmCTestConfigureHandler();
|
||||
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
};
|
||||
|
@ -25,7 +25,7 @@ cmCTestGenericHandler* cmCTestCoverageCommand::InitializeHandler()
|
||||
this->Makefile, "CoverageExtraFlags", "CTEST_COVERAGE_EXTRA_FLAGS",
|
||||
this->Quiet);
|
||||
cmCTestCoverageHandler* handler = this->CTest->GetCoverageHandler();
|
||||
handler->Initialize();
|
||||
handler->Initialize(this->CTest);
|
||||
|
||||
// If a LABELS option was given, select only files with the labels.
|
||||
if (this->Labels) {
|
||||
|
@ -42,9 +42,9 @@ class cmMakefile;
|
||||
|
||||
cmCTestCoverageHandler::cmCTestCoverageHandler() = default;
|
||||
|
||||
void cmCTestCoverageHandler::Initialize()
|
||||
void cmCTestCoverageHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize();
|
||||
this->Superclass::Initialize(ctest);
|
||||
this->CustomCoverageExclude.clear();
|
||||
this->SourceLabels.clear();
|
||||
this->TargetDirs.clear();
|
||||
|
@ -17,6 +17,7 @@
|
||||
class cmGeneratedFileStream;
|
||||
class cmMakefile;
|
||||
class cmXMLWriter;
|
||||
class cmCTest;
|
||||
|
||||
class cmCTestCoverageHandlerContainer
|
||||
{
|
||||
@ -46,7 +47,7 @@ public:
|
||||
|
||||
cmCTestCoverageHandler();
|
||||
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
|
||||
/**
|
||||
* This method is called when reading CTest custom file
|
||||
|
@ -82,8 +82,9 @@ void cmCTestGenericHandler::AddPersistentMultiOption(const std::string& op,
|
||||
}
|
||||
}
|
||||
|
||||
void cmCTestGenericHandler::Initialize()
|
||||
void cmCTestGenericHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->CTest = ctest;
|
||||
this->AppendXML = false;
|
||||
this->TestLoad = 0;
|
||||
this->Options = this->PersistentOptions;
|
||||
|
@ -45,12 +45,11 @@ public:
|
||||
/**
|
||||
* Initialize handler
|
||||
*/
|
||||
virtual void Initialize();
|
||||
virtual void Initialize(cmCTest* ctest);
|
||||
|
||||
/**
|
||||
* Set the CTest instance
|
||||
* Get the CTest instance
|
||||
*/
|
||||
void SetCTestInstance(cmCTest* ctest) { this->CTest = ctest; }
|
||||
cmCTest* GetCTestInstance() { return this->CTest; }
|
||||
|
||||
/**
|
||||
|
@ -17,7 +17,7 @@ void cmCTestMemCheckCommand::BindArguments()
|
||||
cmCTestTestHandler* cmCTestMemCheckCommand::InitializeActualHandler()
|
||||
{
|
||||
cmCTestMemCheckHandler* handler = this->CTest->GetMemCheckHandler();
|
||||
handler->Initialize();
|
||||
handler->Initialize(this->CTest);
|
||||
|
||||
this->CTest->SetCTestConfigurationFromCMakeVariable(
|
||||
this->Makefile, "MemoryCheckType", "CTEST_MEMORYCHECK_TYPE", this->Quiet);
|
||||
|
@ -126,9 +126,9 @@ cmCTestMemCheckHandler::cmCTestMemCheckHandler()
|
||||
this->LogWithPID = false;
|
||||
}
|
||||
|
||||
void cmCTestMemCheckHandler::Initialize()
|
||||
void cmCTestMemCheckHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize();
|
||||
this->Superclass::Initialize(ctest);
|
||||
this->LogWithPID = false;
|
||||
this->CustomMaximumPassedTestOutputSize = 0;
|
||||
this->CustomMaximumFailedTestOutputSize = 0;
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
class cmMakefile;
|
||||
class cmXMLWriter;
|
||||
class cmCTest;
|
||||
|
||||
/** \class cmCTestMemCheckHandler
|
||||
* \brief A class that handles ctest -S invocations
|
||||
@ -27,7 +28,7 @@ public:
|
||||
|
||||
cmCTestMemCheckHandler();
|
||||
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
|
||||
int GetDefectCount() const;
|
||||
|
||||
|
@ -42,9 +42,9 @@
|
||||
|
||||
cmCTestScriptHandler::cmCTestScriptHandler() = default;
|
||||
|
||||
void cmCTestScriptHandler::Initialize()
|
||||
void cmCTestScriptHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize();
|
||||
this->Superclass::Initialize(ctest);
|
||||
|
||||
// what time in seconds did this script start running
|
||||
this->ScriptStartTime = std::chrono::steady_clock::time_point();
|
||||
@ -362,7 +362,7 @@ bool cmCTestScriptHandler::RunScript(cmCTest* ctest, cmMakefile* mf,
|
||||
int* returnValue)
|
||||
{
|
||||
auto sh = cm::make_unique<cmCTestScriptHandler>();
|
||||
sh->SetCTestInstance(ctest);
|
||||
sh->Initialize(ctest);
|
||||
sh->ParentMakefile = mf;
|
||||
sh->AddConfigurationScript(sname, InProcess);
|
||||
int res = sh->ProcessHandler();
|
||||
|
@ -60,7 +60,7 @@ public:
|
||||
const cmCTestScriptHandler& operator=(const cmCTestScriptHandler&) = delete;
|
||||
~cmCTestScriptHandler() override;
|
||||
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
|
||||
void CreateCMake();
|
||||
cmake* GetCMake() { return this->CMake.get(); }
|
||||
|
@ -122,7 +122,7 @@ cmCTestGenericHandler* cmCTestSubmitCommand::InitializeHandler()
|
||||
}
|
||||
|
||||
cmCTestSubmitHandler* handler = this->CTest->GetSubmitHandler();
|
||||
handler->Initialize();
|
||||
handler->Initialize(this->CTest);
|
||||
|
||||
// If no FILES or PARTS given, *all* PARTS are submitted by default.
|
||||
//
|
||||
|
@ -117,13 +117,11 @@ static size_t cmCTestSubmitHandlerCurlDebugCallback(CURL* /*unused*/,
|
||||
return 0;
|
||||
}
|
||||
|
||||
cmCTestSubmitHandler::cmCTestSubmitHandler()
|
||||
{
|
||||
this->Initialize();
|
||||
}
|
||||
cmCTestSubmitHandler::cmCTestSubmitHandler() = default;
|
||||
|
||||
void cmCTestSubmitHandler::Initialize()
|
||||
void cmCTestSubmitHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize(ctest);
|
||||
// We submit all available parts by default.
|
||||
for (cmCTest::Part p = cmCTest::PartStart; p != cmCTest::PartCount;
|
||||
p = static_cast<cmCTest::Part>(p + 1)) {
|
||||
@ -131,7 +129,6 @@ void cmCTestSubmitHandler::Initialize()
|
||||
}
|
||||
this->HasWarnings = false;
|
||||
this->HasErrors = false;
|
||||
this->Superclass::Initialize();
|
||||
this->HTTPProxy.clear();
|
||||
this->HTTPProxyType = 0;
|
||||
this->HTTPProxyAuth.clear();
|
||||
|
@ -31,7 +31,7 @@ public:
|
||||
*/
|
||||
int ProcessHandler() override;
|
||||
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
|
||||
/** Specify a set of parts (by name) to submit. */
|
||||
void SelectParts(std::set<cmCTest::Part> const& parts);
|
||||
|
@ -162,6 +162,6 @@ cmCTestGenericHandler* cmCTestTestCommand::InitializeHandler()
|
||||
cmCTestTestHandler* cmCTestTestCommand::InitializeActualHandler()
|
||||
{
|
||||
cmCTestTestHandler* handler = this->CTest->GetTestHandler();
|
||||
handler->Initialize();
|
||||
handler->Initialize(this->CTest);
|
||||
return handler;
|
||||
}
|
||||
|
@ -313,9 +313,9 @@ cmCTestTestHandler::cmCTestTestHandler()
|
||||
this->CustomLabelRegex.compile("<CTestLabel>(.*)</CTestLabel>");
|
||||
}
|
||||
|
||||
void cmCTestTestHandler::Initialize()
|
||||
void cmCTestTestHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize();
|
||||
this->Superclass::Initialize(ctest);
|
||||
|
||||
this->ElapsedTestingTime = cmDuration();
|
||||
|
||||
|
@ -107,7 +107,7 @@ public:
|
||||
*/
|
||||
bool SetDirectoryProperties(const std::vector<std::string>& args);
|
||||
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
|
||||
struct cmCTestTestResourceRequirement
|
||||
{
|
||||
|
@ -74,7 +74,7 @@ cmCTestGenericHandler* cmCTestUpdateCommand::InitializeHandler()
|
||||
this->Makefile, "P4Options", "CTEST_P4_OPTIONS", this->Quiet);
|
||||
|
||||
cmCTestUpdateHandler* handler = this->CTest->GetUpdateHandler();
|
||||
handler->Initialize();
|
||||
handler->Initialize(this->CTest);
|
||||
if (source_dir.empty()) {
|
||||
this->SetError("source directory not specified. Please use SOURCE tag");
|
||||
return nullptr;
|
||||
|
@ -38,9 +38,9 @@ static const char* cmCTestUpdateHandlerUpdateToString(int type)
|
||||
|
||||
cmCTestUpdateHandler::cmCTestUpdateHandler() = default;
|
||||
|
||||
void cmCTestUpdateHandler::Initialize()
|
||||
void cmCTestUpdateHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize();
|
||||
this->Superclass::Initialize(ctest);
|
||||
this->UpdateCommand.clear();
|
||||
this->UpdateType = e_CVS;
|
||||
}
|
||||
|
@ -10,6 +10,8 @@
|
||||
|
||||
#include "cmCTestGenericHandler.h"
|
||||
|
||||
class cmCTest;
|
||||
|
||||
/** \class cmCTestUpdateHandler
|
||||
* \brief A class that handles ctest -S invocations
|
||||
*
|
||||
@ -41,7 +43,7 @@ public:
|
||||
/**
|
||||
* Initialize handler
|
||||
*/
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
|
||||
private:
|
||||
// Some structures needed for update
|
||||
|
@ -38,7 +38,7 @@ void cmCTestUploadCommand::CheckArguments()
|
||||
cmCTestGenericHandler* cmCTestUploadCommand::InitializeHandler()
|
||||
{
|
||||
cmCTestUploadHandler* handler = this->CTest->GetUploadHandler();
|
||||
handler->Initialize();
|
||||
handler->Initialize(this->CTest);
|
||||
handler->SetFiles(
|
||||
std::set<std::string>(this->Files.begin(), this->Files.end()));
|
||||
handler->SetQuiet(this->Quiet);
|
||||
|
@ -11,14 +11,11 @@
|
||||
#include "cmVersion.h"
|
||||
#include "cmXMLWriter.h"
|
||||
|
||||
cmCTestUploadHandler::cmCTestUploadHandler()
|
||||
{
|
||||
this->Initialize();
|
||||
}
|
||||
cmCTestUploadHandler::cmCTestUploadHandler() = default;
|
||||
|
||||
void cmCTestUploadHandler::Initialize()
|
||||
void cmCTestUploadHandler::Initialize(cmCTest* ctest)
|
||||
{
|
||||
this->Superclass::Initialize();
|
||||
this->Superclass::Initialize(ctest);
|
||||
this->Files.clear();
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,8 @@
|
||||
|
||||
#include "cmCTestGenericHandler.h"
|
||||
|
||||
class cmCTest;
|
||||
|
||||
/** \class cmCTestUploadHandler
|
||||
* \brief Helper class for CTest
|
||||
*
|
||||
@ -27,7 +29,7 @@ public:
|
||||
*/
|
||||
int ProcessHandler() override;
|
||||
|
||||
void Initialize() override;
|
||||
void Initialize(cmCTest* ctest) override;
|
||||
|
||||
/** Specify a set of files to submit. */
|
||||
void SetFiles(std::set<std::string> const& files);
|
||||
|
@ -355,10 +355,6 @@ cmCTest::cmCTest()
|
||||
->PartMap[cmSystemTools::LowerCase(this->Impl->Parts[p].GetName())] = p;
|
||||
}
|
||||
|
||||
for (auto& handler : this->Impl->GetTestingHandlers()) {
|
||||
handler->SetCTestInstance(this);
|
||||
}
|
||||
|
||||
// Make sure we can capture the build tool output.
|
||||
cmSystemTools::EnableVSConsoleOutput();
|
||||
}
|
||||
@ -796,7 +792,7 @@ int cmCTest::ProcessSteps()
|
||||
|
||||
int res = 0;
|
||||
cmCTestScriptHandler script;
|
||||
script.SetCTestInstance(this);
|
||||
script.Initialize(this);
|
||||
script.CreateCMake();
|
||||
cmMakefile& mf = *script.GetMakefile();
|
||||
this->ReadCustomConfigurationFileTree(this->Impl->BinaryDir, &mf);
|
||||
@ -2790,6 +2786,7 @@ int cmCTest::RunScripts(
|
||||
}
|
||||
|
||||
cmCTestScriptHandler* ch = this->GetScriptHandler();
|
||||
ch->Initialize(this);
|
||||
ch->SetVerbose(this->Impl->Verbose);
|
||||
for (auto const& script : scripts) {
|
||||
ch->AddConfigurationScript(script.first, script.second);
|
||||
@ -2835,6 +2832,8 @@ int cmCTest::ExecuteTests()
|
||||
|
||||
cmCTestLog(this, DEBUG, "Here: " << __LINE__ << std::endl);
|
||||
|
||||
this->GetTestHandler()->Initialize(this);
|
||||
|
||||
{
|
||||
cmake cm(cmake::RoleScript, cmState::CTest);
|
||||
cm.SetHomeDirectory("");
|
||||
|
Loading…
Reference in New Issue
Block a user