mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-25 01:28:50 -05:00
cmCTest*Command: Port away from cmCommand
Copy the necessary parts, but remove cloning and make all commands immutable.
This commit is contained in:
@@ -1076,6 +1076,7 @@ add_library(
|
||||
CTest/cmCTestBuildAndTest.cxx
|
||||
CTest/cmCTestBuildCommand.cxx
|
||||
CTest/cmCTestBuildHandler.cxx
|
||||
CTest/cmCTestCommand.cxx
|
||||
CTest/cmCTestConfigureCommand.cxx
|
||||
CTest/cmCTestConfigureHandler.cxx
|
||||
CTest/cmCTestCoverageCommand.cxx
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestBuildHandler.h"
|
||||
#include "cmCTestGenericHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -22,15 +21,8 @@
|
||||
#include "cmValue.h"
|
||||
#include "cmake.h"
|
||||
|
||||
std::unique_ptr<cmCommand> cmCTestBuildCommand::Clone()
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestBuildCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
|
||||
bool cmCTestBuildCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
static auto const parser =
|
||||
cmArgumentParser<BuildArguments>{ MakeHandlerParser<BuildArguments>() }
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
|
||||
class cmExecutionStatus;
|
||||
class cmCTestGenericHandler;
|
||||
class cmCommand;
|
||||
|
||||
class cmCTestBuildCommand : public cmCTestHandlerCommand
|
||||
{
|
||||
@@ -32,8 +31,6 @@ protected:
|
||||
};
|
||||
|
||||
private:
|
||||
std::unique_ptr<cmCommand> Clone() override;
|
||||
|
||||
std::string GetName() const override { return "ctest_build"; }
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
|
||||
@@ -44,5 +41,5 @@ private:
|
||||
cmExecutionStatus& status) const override;
|
||||
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
file Copyright.txt or https://cmake.org/licensing for details. */
|
||||
#include "cmCTestCommand.h"
|
||||
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmMakefile.h"
|
||||
|
||||
bool cmCTestCommand::operator()(std::vector<cmListFileArgument> const& args,
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
cmMakefile& mf = status.GetMakefile();
|
||||
std::vector<std::string> expandedArguments;
|
||||
if (!mf.ExpandArguments(args, expandedArguments)) {
|
||||
// There was an error expanding arguments. It was already
|
||||
// reported, so we can skip this command without error.
|
||||
return true;
|
||||
}
|
||||
return this->InitialPass(expandedArguments, status);
|
||||
}
|
||||
@@ -2,9 +2,14 @@
|
||||
file Copyright.txt or https://cmake.org/licensing for details. */
|
||||
#pragma once
|
||||
|
||||
#include "cmCommand.h"
|
||||
#include "cmConfigure.h" // IWYU pragma: keep
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class cmCTest;
|
||||
class cmExecutionStatus;
|
||||
struct cmListFileArgument;
|
||||
|
||||
/** \class cmCTestCommand
|
||||
* \brief A superclass for all commands added to the CTestScriptHandler
|
||||
@@ -13,8 +18,25 @@ class cmCTest;
|
||||
* the ctest script handlers parser.
|
||||
*
|
||||
*/
|
||||
class cmCTestCommand : public cmCommand
|
||||
class cmCTestCommand
|
||||
{
|
||||
public:
|
||||
cmCTestCommand(cmCTest* ctest)
|
||||
: CTest(ctest)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~cmCTestCommand() = default;
|
||||
cmCTestCommand(cmCTestCommand const&) = default;
|
||||
cmCTestCommand& operator=(cmCTestCommand const&) = default;
|
||||
|
||||
bool operator()(std::vector<cmListFileArgument> const& args,
|
||||
cmExecutionStatus& status) const;
|
||||
|
||||
private:
|
||||
virtual bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus&) const = 0;
|
||||
|
||||
protected:
|
||||
cmCTest* CTest = nullptr;
|
||||
};
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestConfigureHandler.h"
|
||||
#include "cmCTestGenericHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
@@ -24,13 +23,6 @@
|
||||
#include "cmValue.h"
|
||||
#include "cmake.h"
|
||||
|
||||
std::unique_ptr<cmCommand> cmCTestConfigureCommand::Clone()
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestConfigureCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler>
|
||||
cmCTestConfigureCommand::InitializeHandler(HandlerArguments& arguments,
|
||||
cmExecutionStatus& status) const
|
||||
@@ -164,7 +156,7 @@ cmCTestConfigureCommand::InitializeHandler(HandlerArguments& arguments,
|
||||
}
|
||||
|
||||
bool cmCTestConfigureCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
using Args = ConfigureArguments;
|
||||
static auto const parser =
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
|
||||
class cmExecutionStatus;
|
||||
class cmCTestGenericHandler;
|
||||
class cmCommand;
|
||||
|
||||
class cmCTestConfigureCommand : public cmCTestHandlerCommand
|
||||
{
|
||||
@@ -26,13 +25,11 @@ protected:
|
||||
};
|
||||
|
||||
private:
|
||||
std::unique_ptr<cmCommand> Clone() override;
|
||||
|
||||
std::string GetName() const override { return "ctest_configure"; }
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
|
||||
HandlerArguments& arguments, cmExecutionStatus& status) const override;
|
||||
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -12,18 +12,10 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestCoverageHandler.h"
|
||||
#include "cmCTestGenericHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
|
||||
class cmMakefile;
|
||||
|
||||
std::unique_ptr<cmCommand> cmCTestCoverageCommand::Clone()
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestCoverageCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler>
|
||||
cmCTestCoverageCommand::InitializeHandler(HandlerArguments& arguments,
|
||||
cmExecutionStatus& status) const
|
||||
@@ -47,7 +39,7 @@ cmCTestCoverageCommand::InitializeHandler(HandlerArguments& arguments,
|
||||
}
|
||||
|
||||
bool cmCTestCoverageCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
using Args = CoverageArguments;
|
||||
static auto const parser =
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
class cmExecutionStatus;
|
||||
class cmCTestGenericHandler;
|
||||
class cmCommand;
|
||||
|
||||
class cmCTestCoverageCommand : public cmCTestHandlerCommand
|
||||
{
|
||||
@@ -29,13 +28,11 @@ protected:
|
||||
};
|
||||
|
||||
private:
|
||||
std::unique_ptr<cmCommand> Clone() override;
|
||||
|
||||
std::string GetName() const override { return "ctest_coverage"; }
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
|
||||
HandlerArguments& arguments, cmExecutionStatus& status) const override;
|
||||
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -11,17 +11,9 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestMemCheckHandler.h"
|
||||
#include "cmCTestTestHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmMakefile.h"
|
||||
|
||||
std::unique_ptr<cmCommand> cmCTestMemCheckCommand::Clone()
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestMemCheckCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
|
||||
std::unique_ptr<cmCTestTestHandler>
|
||||
cmCTestMemCheckCommand::InitializeActualHandler(
|
||||
HandlerArguments& args, cmExecutionStatus& status) const
|
||||
@@ -62,7 +54,7 @@ void cmCTestMemCheckCommand::ProcessAdditionalValues(
|
||||
}
|
||||
|
||||
bool cmCTestMemCheckCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
static auto const parser =
|
||||
cmArgumentParser<MemCheckArguments>{ MakeTestParser<MemCheckArguments>() }
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
class cmExecutionStatus;
|
||||
class cmCTestGenericHandler;
|
||||
class cmCTestTestHandler;
|
||||
class cmCommand;
|
||||
|
||||
class cmCTestMemCheckCommand : public cmCTestTestCommand
|
||||
{
|
||||
@@ -27,8 +26,6 @@ protected:
|
||||
};
|
||||
|
||||
private:
|
||||
std::unique_ptr<cmCommand> Clone() override;
|
||||
|
||||
std::string GetName() const override { return "ctest_memcheck"; }
|
||||
|
||||
std::unique_ptr<cmCTestTestHandler> InitializeActualHandler(
|
||||
@@ -39,5 +36,5 @@ private:
|
||||
cmExecutionStatus& status) const override;
|
||||
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
class cmMakefile;
|
||||
|
||||
bool cmCTestReadCustomFilesCommand::InitialPass(
|
||||
std::vector<std::string> const& args, cmExecutionStatus& status)
|
||||
std::vector<std::string> const& args, cmExecutionStatus& status) const
|
||||
{
|
||||
if (args.empty()) {
|
||||
status.SetError("called with incorrect number of arguments");
|
||||
|
||||
@@ -5,13 +5,9 @@
|
||||
#include "cmConfigure.h" // IWYU pragma: keep
|
||||
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include <cm/memory>
|
||||
|
||||
#include "cmCTestCommand.h"
|
||||
#include "cmCommand.h"
|
||||
|
||||
class cmExecutionStatus;
|
||||
|
||||
@@ -24,22 +20,12 @@ class cmExecutionStatus;
|
||||
class cmCTestReadCustomFilesCommand : public cmCTestCommand
|
||||
{
|
||||
public:
|
||||
cmCTestReadCustomFilesCommand() {}
|
||||
|
||||
/**
|
||||
* This is a virtual constructor for the command.
|
||||
*/
|
||||
std::unique_ptr<cmCommand> Clone() override
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestReadCustomFilesCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
using cmCTestCommand::cmCTestCommand;
|
||||
|
||||
/**
|
||||
* This is called when the command is first encountered in
|
||||
* the CMakeLists.txt file.
|
||||
*/
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
bool cmCTestRunScriptCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
if (args.empty()) {
|
||||
status.SetError("called with incorrect number of arguments");
|
||||
|
||||
@@ -5,13 +5,9 @@
|
||||
#include "cmConfigure.h" // IWYU pragma: keep
|
||||
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include <cm/memory>
|
||||
|
||||
#include "cmCTestCommand.h"
|
||||
#include "cmCommand.h"
|
||||
|
||||
class cmExecutionStatus;
|
||||
|
||||
@@ -24,22 +20,12 @@ class cmExecutionStatus;
|
||||
class cmCTestRunScriptCommand : public cmCTestCommand
|
||||
{
|
||||
public:
|
||||
cmCTestRunScriptCommand() {}
|
||||
|
||||
/**
|
||||
* This is a virtual constructor for the command.
|
||||
*/
|
||||
std::unique_ptr<cmCommand> Clone() override
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestRunScriptCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
using cmCTestCommand::cmCTestCommand;
|
||||
|
||||
/**
|
||||
* This is called when the command is first encountered in
|
||||
* the CMakeLists.txt file.
|
||||
*/
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestBuildCommand.h"
|
||||
#include "cmCTestCommand.h"
|
||||
#include "cmCTestConfigureCommand.h"
|
||||
#include "cmCTestCoverageCommand.h"
|
||||
#include "cmCTestEmptyBinaryDirectoryCommand.h"
|
||||
@@ -28,7 +27,6 @@
|
||||
#include "cmCTestTestCommand.h"
|
||||
#include "cmCTestUpdateCommand.h"
|
||||
#include "cmCTestUploadCommand.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmDuration.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -81,13 +79,6 @@ void cmCTestScriptHandler::UpdateElapsedTime()
|
||||
}
|
||||
}
|
||||
|
||||
void cmCTestScriptHandler::AddCTestCommand(
|
||||
std::string const& name, std::unique_ptr<cmCTestCommand> command)
|
||||
{
|
||||
command->CTest = this->CTest;
|
||||
this->CMake->GetState()->AddBuiltinCommand(name, std::move(command));
|
||||
}
|
||||
|
||||
int cmCTestScriptHandler::ExecuteScript(const std::string& total_script_arg)
|
||||
{
|
||||
// execute the script passing in the arguments to the script as well as the
|
||||
@@ -206,28 +197,25 @@ void cmCTestScriptHandler::CreateCMake()
|
||||
});
|
||||
|
||||
cmState* state = this->CMake->GetState();
|
||||
this->AddCTestCommand("ctest_build", cm::make_unique<cmCTestBuildCommand>());
|
||||
this->AddCTestCommand("ctest_configure",
|
||||
cm::make_unique<cmCTestConfigureCommand>());
|
||||
this->AddCTestCommand("ctest_coverage",
|
||||
cm::make_unique<cmCTestCoverageCommand>());
|
||||
state->AddBuiltinCommand("ctest_build", cmCTestBuildCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_configure",
|
||||
cmCTestConfigureCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_coverage",
|
||||
cmCTestCoverageCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_empty_binary_directory",
|
||||
cmCTestEmptyBinaryDirectoryCommand);
|
||||
this->AddCTestCommand("ctest_memcheck",
|
||||
cm::make_unique<cmCTestMemCheckCommand>());
|
||||
this->AddCTestCommand("ctest_read_custom_files",
|
||||
cm::make_unique<cmCTestReadCustomFilesCommand>());
|
||||
this->AddCTestCommand("ctest_run_script",
|
||||
cm::make_unique<cmCTestRunScriptCommand>());
|
||||
state->AddBuiltinCommand("ctest_memcheck",
|
||||
cmCTestMemCheckCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_read_custom_files",
|
||||
cmCTestReadCustomFilesCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_run_script",
|
||||
cmCTestRunScriptCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_sleep", cmCTestSleepCommand);
|
||||
this->AddCTestCommand("ctest_start", cm::make_unique<cmCTestStartCommand>());
|
||||
this->AddCTestCommand("ctest_submit",
|
||||
cm::make_unique<cmCTestSubmitCommand>());
|
||||
this->AddCTestCommand("ctest_test", cm::make_unique<cmCTestTestCommand>());
|
||||
this->AddCTestCommand("ctest_update",
|
||||
cm::make_unique<cmCTestUpdateCommand>());
|
||||
this->AddCTestCommand("ctest_upload",
|
||||
cm::make_unique<cmCTestUploadCommand>());
|
||||
state->AddBuiltinCommand("ctest_start", cmCTestStartCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_submit", cmCTestSubmitCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_test", cmCTestTestCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_update", cmCTestUpdateCommand(this->CTest));
|
||||
state->AddBuiltinCommand("ctest_upload", cmCTestUploadCommand(this->CTest));
|
||||
}
|
||||
|
||||
// this sets up some variables for the script to use, creates the required
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include <vector>
|
||||
|
||||
class cmCTest;
|
||||
class cmCTestCommand;
|
||||
class cmGlobalGenerator;
|
||||
class cmMakefile;
|
||||
class cmake;
|
||||
@@ -58,10 +57,6 @@ private:
|
||||
|
||||
int RunConfigurationScript(const std::string& script, bool pscope);
|
||||
|
||||
// Add ctest command
|
||||
void AddCTestCommand(std::string const& name,
|
||||
std::unique_ptr<cmCTestCommand> command);
|
||||
|
||||
cmCTest* CTest = nullptr;
|
||||
std::vector<std::string> ConfigurationScripts;
|
||||
std::vector<bool> ScriptProcessScope;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "cmValue.h"
|
||||
|
||||
bool cmCTestStartCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
if (args.empty()) {
|
||||
status.SetError("called with incorrect number of arguments");
|
||||
@@ -226,7 +226,7 @@ bool cmCTestStartCommand::InitialPass(std::vector<std::string> const& args,
|
||||
|
||||
bool cmCTestStartCommand::InitialCheckout(std::ostream& ofs,
|
||||
std::string const& sourceDir,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
cmMakefile& mf = status.GetMakefile();
|
||||
// Use the user-provided command to create the source tree.
|
||||
|
||||
@@ -6,13 +6,9 @@
|
||||
|
||||
#include <iosfwd>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include <cm/memory>
|
||||
|
||||
#include "cmCTestCommand.h"
|
||||
#include "cmCommand.h"
|
||||
|
||||
class cmExecutionStatus;
|
||||
|
||||
@@ -24,24 +20,16 @@ class cmExecutionStatus;
|
||||
class cmCTestStartCommand : public cmCTestCommand
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* This is a virtual constructor for the command.
|
||||
*/
|
||||
std::unique_ptr<cmCommand> Clone() override
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestStartCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
using cmCTestCommand::cmCTestCommand;
|
||||
|
||||
/**
|
||||
* This is called when the command is first encountered in
|
||||
* the CMakeLists.txt file.
|
||||
*/
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
|
||||
private:
|
||||
bool InitialCheckout(std::ostream& ofs, std::string const& sourceDir,
|
||||
cmExecutionStatus& status);
|
||||
cmExecutionStatus& status) const;
|
||||
};
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestGenericHandler.h"
|
||||
#include "cmCTestSubmitHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -23,13 +22,6 @@
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
|
||||
std::unique_ptr<cmCommand> cmCTestSubmitCommand::Clone()
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestSubmitCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler> cmCTestSubmitCommand::InitializeHandler(
|
||||
HandlerArguments& arguments, cmExecutionStatus& status) const
|
||||
{
|
||||
@@ -174,7 +166,7 @@ std::unique_ptr<cmCTestGenericHandler> cmCTestSubmitCommand::InitializeHandler(
|
||||
}
|
||||
|
||||
bool cmCTestSubmitCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
// Arguments used by both modes.
|
||||
static auto const parserBase =
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
class cmExecutionStatus;
|
||||
class cmCTestGenericHandler;
|
||||
class cmCommand;
|
||||
|
||||
class cmCTestSubmitCommand : public cmCTestHandlerCommand
|
||||
{
|
||||
@@ -41,8 +40,6 @@ protected:
|
||||
};
|
||||
|
||||
private:
|
||||
std::unique_ptr<cmCommand> Clone() override;
|
||||
|
||||
std::string GetName() const override { return "ctest_submit"; }
|
||||
|
||||
void CheckArguments(HandlerArguments& arguments,
|
||||
@@ -56,5 +53,5 @@ private:
|
||||
cmExecutionStatus& status) const override;
|
||||
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -14,20 +14,12 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestGenericHandler.h"
|
||||
#include "cmCTestTestHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmDuration.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmValue.h"
|
||||
|
||||
std::unique_ptr<cmCommand> cmCTestTestCommand::Clone()
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestTestCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler> cmCTestTestCommand::InitializeHandler(
|
||||
HandlerArguments& arguments, cmExecutionStatus& status) const
|
||||
{
|
||||
@@ -154,7 +146,7 @@ cmCTestTestCommand::InitializeActualHandler(HandlerArguments&,
|
||||
}
|
||||
|
||||
bool cmCTestTestCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
static auto const parser = MakeTestParser<TestArguments>();
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
class cmExecutionStatus;
|
||||
class cmCTestGenericHandler;
|
||||
class cmCTestTestHandler;
|
||||
class cmCommand;
|
||||
|
||||
class cmCTestTestCommand : public cmCTestHandlerCommand
|
||||
{
|
||||
@@ -79,8 +78,6 @@ protected:
|
||||
}
|
||||
|
||||
private:
|
||||
std::unique_ptr<cmCommand> Clone() override;
|
||||
|
||||
std::string GetName() const override { return "ctest_test"; }
|
||||
|
||||
virtual std::unique_ptr<cmCTestTestHandler> InitializeActualHandler(
|
||||
@@ -90,5 +87,5 @@ private:
|
||||
HandlerArguments& arguments, cmExecutionStatus& status) const override;
|
||||
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -9,18 +9,10 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestGenericHandler.h"
|
||||
#include "cmCTestUpdateHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
std::unique_ptr<cmCommand> cmCTestUpdateCommand::Clone()
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestUpdateCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler> cmCTestUpdateCommand::InitializeHandler(
|
||||
HandlerArguments& args, cmExecutionStatus& status) const
|
||||
{
|
||||
@@ -93,7 +85,7 @@ std::unique_ptr<cmCTestGenericHandler> cmCTestUpdateCommand::InitializeHandler(
|
||||
}
|
||||
|
||||
bool cmCTestUpdateCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
static auto const parser = MakeHandlerParser<HandlerArguments>();
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
|
||||
class cmExecutionStatus;
|
||||
class cmCTestGenericHandler;
|
||||
class cmCommand;
|
||||
|
||||
class cmCTestUpdateCommand : public cmCTestHandlerCommand
|
||||
{
|
||||
@@ -20,13 +19,11 @@ public:
|
||||
using cmCTestHandlerCommand::cmCTestHandlerCommand;
|
||||
|
||||
private:
|
||||
std::unique_ptr<cmCommand> Clone() override;
|
||||
|
||||
std::string GetName() const override { return "ctest_update"; }
|
||||
|
||||
std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
|
||||
HandlerArguments& args, cmExecutionStatus& status) const override;
|
||||
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
@@ -13,19 +13,11 @@
|
||||
#include "cmArgumentParser.h"
|
||||
#include "cmCTestGenericHandler.h"
|
||||
#include "cmCTestUploadHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
std::unique_ptr<cmCommand> cmCTestUploadCommand::Clone()
|
||||
{
|
||||
auto ni = cm::make_unique<cmCTestUploadCommand>();
|
||||
ni->CTest = this->CTest;
|
||||
return std::unique_ptr<cmCommand>(std::move(ni));
|
||||
}
|
||||
|
||||
void cmCTestUploadCommand::CheckArguments(HandlerArguments& arguments,
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
@@ -55,7 +47,7 @@ std::unique_ptr<cmCTestGenericHandler> cmCTestUploadCommand::InitializeHandler(
|
||||
}
|
||||
|
||||
bool cmCTestUploadCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status)
|
||||
cmExecutionStatus& status) const
|
||||
{
|
||||
static auto const parser =
|
||||
cmArgumentParser<UploadArguments>{ MakeHandlerParser<UploadArguments>() }
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
class cmExecutionStatus;
|
||||
class cmCTestGenericHandler;
|
||||
class cmCommand;
|
||||
|
||||
class cmCTestUploadCommand : public cmCTestHandlerCommand
|
||||
{
|
||||
@@ -27,8 +26,6 @@ protected:
|
||||
};
|
||||
|
||||
private:
|
||||
std::unique_ptr<cmCommand> Clone() override;
|
||||
|
||||
std::string GetName() const override { return "ctest_upload"; }
|
||||
|
||||
void CheckArguments(HandlerArguments& arguments,
|
||||
@@ -38,5 +35,5 @@ private:
|
||||
HandlerArguments& arguments, cmExecutionStatus& status) const override;
|
||||
|
||||
bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status) override;
|
||||
cmExecutionStatus& status) const override;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user