cmCTest*Command: Port away from cmCommand

Copy the necessary parts, but remove cloning and make all commands
immutable.
This commit is contained in:
Daniel Pfeifer
2024-10-30 23:31:41 +01:00
parent c98ed10d0f
commit 8768a0c6e1
27 changed files with 87 additions and 190 deletions
+1
View File
@@ -1076,6 +1076,7 @@ add_library(
CTest/cmCTestBuildAndTest.cxx CTest/cmCTestBuildAndTest.cxx
CTest/cmCTestBuildCommand.cxx CTest/cmCTestBuildCommand.cxx
CTest/cmCTestBuildHandler.cxx CTest/cmCTestBuildHandler.cxx
CTest/cmCTestCommand.cxx
CTest/cmCTestConfigureCommand.cxx CTest/cmCTestConfigureCommand.cxx
CTest/cmCTestConfigureHandler.cxx CTest/cmCTestConfigureHandler.cxx
CTest/cmCTestCoverageCommand.cxx CTest/cmCTestCoverageCommand.cxx
+1 -9
View File
@@ -12,7 +12,6 @@
#include "cmCTest.h" #include "cmCTest.h"
#include "cmCTestBuildHandler.h" #include "cmCTestBuildHandler.h"
#include "cmCTestGenericHandler.h" #include "cmCTestGenericHandler.h"
#include "cmCommand.h"
#include "cmExecutionStatus.h" #include "cmExecutionStatus.h"
#include "cmGlobalGenerator.h" #include "cmGlobalGenerator.h"
#include "cmMakefile.h" #include "cmMakefile.h"
@@ -22,15 +21,8 @@
#include "cmValue.h" #include "cmValue.h"
#include "cmake.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, bool cmCTestBuildCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
static auto const parser = static auto const parser =
cmArgumentParser<BuildArguments>{ MakeHandlerParser<BuildArguments>() } cmArgumentParser<BuildArguments>{ MakeHandlerParser<BuildArguments>() }
+1 -4
View File
@@ -12,7 +12,6 @@
class cmExecutionStatus; class cmExecutionStatus;
class cmCTestGenericHandler; class cmCTestGenericHandler;
class cmCommand;
class cmCTestBuildCommand : public cmCTestHandlerCommand class cmCTestBuildCommand : public cmCTestHandlerCommand
{ {
@@ -32,8 +31,6 @@ protected:
}; };
private: private:
std::unique_ptr<cmCommand> Clone() override;
std::string GetName() const override { return "ctest_build"; } std::string GetName() const override { return "ctest_build"; }
std::unique_ptr<cmCTestGenericHandler> InitializeHandler( std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
@@ -44,5 +41,5 @@ private:
cmExecutionStatus& status) const override; cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
+19
View File
@@ -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);
}
+24 -2
View File
@@ -2,9 +2,14 @@
file Copyright.txt or https://cmake.org/licensing for details. */ file Copyright.txt or https://cmake.org/licensing for details. */
#pragma once #pragma once
#include "cmCommand.h" #include "cmConfigure.h" // IWYU pragma: keep
#include <string>
#include <vector>
class cmCTest; class cmCTest;
class cmExecutionStatus;
struct cmListFileArgument;
/** \class cmCTestCommand /** \class cmCTestCommand
* \brief A superclass for all commands added to the CTestScriptHandler * \brief A superclass for all commands added to the CTestScriptHandler
@@ -13,8 +18,25 @@ class cmCTest;
* the ctest script handlers parser. * the ctest script handlers parser.
* *
*/ */
class cmCTestCommand : public cmCommand class cmCTestCommand
{ {
public: 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; cmCTest* CTest = nullptr;
}; };
+1 -9
View File
@@ -14,7 +14,6 @@
#include "cmCTest.h" #include "cmCTest.h"
#include "cmCTestConfigureHandler.h" #include "cmCTestConfigureHandler.h"
#include "cmCTestGenericHandler.h" #include "cmCTestGenericHandler.h"
#include "cmCommand.h"
#include "cmExecutionStatus.h" #include "cmExecutionStatus.h"
#include "cmGlobalGenerator.h" #include "cmGlobalGenerator.h"
#include "cmList.h" #include "cmList.h"
@@ -24,13 +23,6 @@
#include "cmValue.h" #include "cmValue.h"
#include "cmake.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> std::unique_ptr<cmCTestGenericHandler>
cmCTestConfigureCommand::InitializeHandler(HandlerArguments& arguments, cmCTestConfigureCommand::InitializeHandler(HandlerArguments& arguments,
cmExecutionStatus& status) const cmExecutionStatus& status) const
@@ -164,7 +156,7 @@ cmCTestConfigureCommand::InitializeHandler(HandlerArguments& arguments,
} }
bool cmCTestConfigureCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestConfigureCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
using Args = ConfigureArguments; using Args = ConfigureArguments;
static auto const parser = static auto const parser =
+1 -4
View File
@@ -12,7 +12,6 @@
class cmExecutionStatus; class cmExecutionStatus;
class cmCTestGenericHandler; class cmCTestGenericHandler;
class cmCommand;
class cmCTestConfigureCommand : public cmCTestHandlerCommand class cmCTestConfigureCommand : public cmCTestHandlerCommand
{ {
@@ -26,13 +25,11 @@ protected:
}; };
private: private:
std::unique_ptr<cmCommand> Clone() override;
std::string GetName() const override { return "ctest_configure"; } std::string GetName() const override { return "ctest_configure"; }
std::unique_ptr<cmCTestGenericHandler> InitializeHandler( std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
HandlerArguments& arguments, cmExecutionStatus& status) const override; HandlerArguments& arguments, cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
+1 -9
View File
@@ -12,18 +12,10 @@
#include "cmCTest.h" #include "cmCTest.h"
#include "cmCTestCoverageHandler.h" #include "cmCTestCoverageHandler.h"
#include "cmCTestGenericHandler.h" #include "cmCTestGenericHandler.h"
#include "cmCommand.h"
#include "cmExecutionStatus.h" #include "cmExecutionStatus.h"
class cmMakefile; 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> std::unique_ptr<cmCTestGenericHandler>
cmCTestCoverageCommand::InitializeHandler(HandlerArguments& arguments, cmCTestCoverageCommand::InitializeHandler(HandlerArguments& arguments,
cmExecutionStatus& status) const cmExecutionStatus& status) const
@@ -47,7 +39,7 @@ cmCTestCoverageCommand::InitializeHandler(HandlerArguments& arguments,
} }
bool cmCTestCoverageCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestCoverageCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
using Args = CoverageArguments; using Args = CoverageArguments;
static auto const parser = static auto const parser =
+1 -4
View File
@@ -15,7 +15,6 @@
class cmExecutionStatus; class cmExecutionStatus;
class cmCTestGenericHandler; class cmCTestGenericHandler;
class cmCommand;
class cmCTestCoverageCommand : public cmCTestHandlerCommand class cmCTestCoverageCommand : public cmCTestHandlerCommand
{ {
@@ -29,13 +28,11 @@ protected:
}; };
private: private:
std::unique_ptr<cmCommand> Clone() override;
std::string GetName() const override { return "ctest_coverage"; } std::string GetName() const override { return "ctest_coverage"; }
std::unique_ptr<cmCTestGenericHandler> InitializeHandler( std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
HandlerArguments& arguments, cmExecutionStatus& status) const override; HandlerArguments& arguments, cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
+1 -9
View File
@@ -11,17 +11,9 @@
#include "cmCTest.h" #include "cmCTest.h"
#include "cmCTestMemCheckHandler.h" #include "cmCTestMemCheckHandler.h"
#include "cmCTestTestHandler.h" #include "cmCTestTestHandler.h"
#include "cmCommand.h"
#include "cmExecutionStatus.h" #include "cmExecutionStatus.h"
#include "cmMakefile.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> std::unique_ptr<cmCTestTestHandler>
cmCTestMemCheckCommand::InitializeActualHandler( cmCTestMemCheckCommand::InitializeActualHandler(
HandlerArguments& args, cmExecutionStatus& status) const HandlerArguments& args, cmExecutionStatus& status) const
@@ -62,7 +54,7 @@ void cmCTestMemCheckCommand::ProcessAdditionalValues(
} }
bool cmCTestMemCheckCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestMemCheckCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
static auto const parser = static auto const parser =
cmArgumentParser<MemCheckArguments>{ MakeTestParser<MemCheckArguments>() } cmArgumentParser<MemCheckArguments>{ MakeTestParser<MemCheckArguments>() }
+1 -4
View File
@@ -13,7 +13,6 @@
class cmExecutionStatus; class cmExecutionStatus;
class cmCTestGenericHandler; class cmCTestGenericHandler;
class cmCTestTestHandler; class cmCTestTestHandler;
class cmCommand;
class cmCTestMemCheckCommand : public cmCTestTestCommand class cmCTestMemCheckCommand : public cmCTestTestCommand
{ {
@@ -27,8 +26,6 @@ protected:
}; };
private: private:
std::unique_ptr<cmCommand> Clone() override;
std::string GetName() const override { return "ctest_memcheck"; } std::string GetName() const override { return "ctest_memcheck"; }
std::unique_ptr<cmCTestTestHandler> InitializeActualHandler( std::unique_ptr<cmCTestTestHandler> InitializeActualHandler(
@@ -39,5 +36,5 @@ private:
cmExecutionStatus& status) const override; cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
@@ -8,7 +8,7 @@
class cmMakefile; class cmMakefile;
bool cmCTestReadCustomFilesCommand::InitialPass( bool cmCTestReadCustomFilesCommand::InitialPass(
std::vector<std::string> const& args, cmExecutionStatus& status) std::vector<std::string> const& args, cmExecutionStatus& status) const
{ {
if (args.empty()) { if (args.empty()) {
status.SetError("called with incorrect number of arguments"); status.SetError("called with incorrect number of arguments");
+2 -16
View File
@@ -5,13 +5,9 @@
#include "cmConfigure.h" // IWYU pragma: keep #include "cmConfigure.h" // IWYU pragma: keep
#include <string> #include <string>
#include <utility>
#include <vector> #include <vector>
#include <cm/memory>
#include "cmCTestCommand.h" #include "cmCTestCommand.h"
#include "cmCommand.h"
class cmExecutionStatus; class cmExecutionStatus;
@@ -24,22 +20,12 @@ class cmExecutionStatus;
class cmCTestReadCustomFilesCommand : public cmCTestCommand class cmCTestReadCustomFilesCommand : public cmCTestCommand
{ {
public: public:
cmCTestReadCustomFilesCommand() {} using cmCTestCommand::cmCTestCommand;
/**
* 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));
}
/** /**
* This is called when the command is first encountered in * This is called when the command is first encountered in
* the CMakeLists.txt file. * the CMakeLists.txt file.
*/ */
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
+1 -1
View File
@@ -8,7 +8,7 @@
#include "cmSystemTools.h" #include "cmSystemTools.h"
bool cmCTestRunScriptCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestRunScriptCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
if (args.empty()) { if (args.empty()) {
status.SetError("called with incorrect number of arguments"); status.SetError("called with incorrect number of arguments");
+2 -16
View File
@@ -5,13 +5,9 @@
#include "cmConfigure.h" // IWYU pragma: keep #include "cmConfigure.h" // IWYU pragma: keep
#include <string> #include <string>
#include <utility>
#include <vector> #include <vector>
#include <cm/memory>
#include "cmCTestCommand.h" #include "cmCTestCommand.h"
#include "cmCommand.h"
class cmExecutionStatus; class cmExecutionStatus;
@@ -24,22 +20,12 @@ class cmExecutionStatus;
class cmCTestRunScriptCommand : public cmCTestCommand class cmCTestRunScriptCommand : public cmCTestCommand
{ {
public: public:
cmCTestRunScriptCommand() {} using cmCTestCommand::cmCTestCommand;
/**
* 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));
}
/** /**
* This is called when the command is first encountered in * This is called when the command is first encountered in
* the CMakeLists.txt file. * the CMakeLists.txt file.
*/ */
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
+16 -28
View File
@@ -15,7 +15,6 @@
#include "cmCTest.h" #include "cmCTest.h"
#include "cmCTestBuildCommand.h" #include "cmCTestBuildCommand.h"
#include "cmCTestCommand.h"
#include "cmCTestConfigureCommand.h" #include "cmCTestConfigureCommand.h"
#include "cmCTestCoverageCommand.h" #include "cmCTestCoverageCommand.h"
#include "cmCTestEmptyBinaryDirectoryCommand.h" #include "cmCTestEmptyBinaryDirectoryCommand.h"
@@ -28,7 +27,6 @@
#include "cmCTestTestCommand.h" #include "cmCTestTestCommand.h"
#include "cmCTestUpdateCommand.h" #include "cmCTestUpdateCommand.h"
#include "cmCTestUploadCommand.h" #include "cmCTestUploadCommand.h"
#include "cmCommand.h"
#include "cmDuration.h" #include "cmDuration.h"
#include "cmGlobalGenerator.h" #include "cmGlobalGenerator.h"
#include "cmMakefile.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) int cmCTestScriptHandler::ExecuteScript(const std::string& total_script_arg)
{ {
// execute the script passing in the arguments to the script as well as the // 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(); cmState* state = this->CMake->GetState();
this->AddCTestCommand("ctest_build", cm::make_unique<cmCTestBuildCommand>()); state->AddBuiltinCommand("ctest_build", cmCTestBuildCommand(this->CTest));
this->AddCTestCommand("ctest_configure", state->AddBuiltinCommand("ctest_configure",
cm::make_unique<cmCTestConfigureCommand>()); cmCTestConfigureCommand(this->CTest));
this->AddCTestCommand("ctest_coverage", state->AddBuiltinCommand("ctest_coverage",
cm::make_unique<cmCTestCoverageCommand>()); cmCTestCoverageCommand(this->CTest));
state->AddBuiltinCommand("ctest_empty_binary_directory", state->AddBuiltinCommand("ctest_empty_binary_directory",
cmCTestEmptyBinaryDirectoryCommand); cmCTestEmptyBinaryDirectoryCommand);
this->AddCTestCommand("ctest_memcheck", state->AddBuiltinCommand("ctest_memcheck",
cm::make_unique<cmCTestMemCheckCommand>()); cmCTestMemCheckCommand(this->CTest));
this->AddCTestCommand("ctest_read_custom_files", state->AddBuiltinCommand("ctest_read_custom_files",
cm::make_unique<cmCTestReadCustomFilesCommand>()); cmCTestReadCustomFilesCommand(this->CTest));
this->AddCTestCommand("ctest_run_script", state->AddBuiltinCommand("ctest_run_script",
cm::make_unique<cmCTestRunScriptCommand>()); cmCTestRunScriptCommand(this->CTest));
state->AddBuiltinCommand("ctest_sleep", cmCTestSleepCommand); state->AddBuiltinCommand("ctest_sleep", cmCTestSleepCommand);
this->AddCTestCommand("ctest_start", cm::make_unique<cmCTestStartCommand>()); state->AddBuiltinCommand("ctest_start", cmCTestStartCommand(this->CTest));
this->AddCTestCommand("ctest_submit", state->AddBuiltinCommand("ctest_submit", cmCTestSubmitCommand(this->CTest));
cm::make_unique<cmCTestSubmitCommand>()); state->AddBuiltinCommand("ctest_test", cmCTestTestCommand(this->CTest));
this->AddCTestCommand("ctest_test", cm::make_unique<cmCTestTestCommand>()); state->AddBuiltinCommand("ctest_update", cmCTestUpdateCommand(this->CTest));
this->AddCTestCommand("ctest_update", state->AddBuiltinCommand("ctest_upload", cmCTestUploadCommand(this->CTest));
cm::make_unique<cmCTestUpdateCommand>());
this->AddCTestCommand("ctest_upload",
cm::make_unique<cmCTestUploadCommand>());
} }
// this sets up some variables for the script to use, creates the required // this sets up some variables for the script to use, creates the required
-5
View File
@@ -9,7 +9,6 @@
#include <vector> #include <vector>
class cmCTest; class cmCTest;
class cmCTestCommand;
class cmGlobalGenerator; class cmGlobalGenerator;
class cmMakefile; class cmMakefile;
class cmake; class cmake;
@@ -58,10 +57,6 @@ private:
int RunConfigurationScript(const std::string& script, bool pscope); 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; cmCTest* CTest = nullptr;
std::vector<std::string> ConfigurationScripts; std::vector<std::string> ConfigurationScripts;
std::vector<bool> ScriptProcessScope; std::vector<bool> ScriptProcessScope;
+2 -2
View File
@@ -15,7 +15,7 @@
#include "cmValue.h" #include "cmValue.h"
bool cmCTestStartCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestStartCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
if (args.empty()) { if (args.empty()) {
status.SetError("called with incorrect number of arguments"); 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, bool cmCTestStartCommand::InitialCheckout(std::ostream& ofs,
std::string const& sourceDir, std::string const& sourceDir,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
cmMakefile& mf = status.GetMakefile(); cmMakefile& mf = status.GetMakefile();
// Use the user-provided command to create the source tree. // Use the user-provided command to create the source tree.
+3 -15
View File
@@ -6,13 +6,9 @@
#include <iosfwd> #include <iosfwd>
#include <string> #include <string>
#include <utility>
#include <vector> #include <vector>
#include <cm/memory>
#include "cmCTestCommand.h" #include "cmCTestCommand.h"
#include "cmCommand.h"
class cmExecutionStatus; class cmExecutionStatus;
@@ -24,24 +20,16 @@ class cmExecutionStatus;
class cmCTestStartCommand : public cmCTestCommand class cmCTestStartCommand : public cmCTestCommand
{ {
public: public:
/** using cmCTestCommand::cmCTestCommand;
* 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));
}
/** /**
* This is called when the command is first encountered in * This is called when the command is first encountered in
* the CMakeLists.txt file. * the CMakeLists.txt file.
*/ */
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
private: private:
bool InitialCheckout(std::ostream& ofs, std::string const& sourceDir, bool InitialCheckout(std::ostream& ofs, std::string const& sourceDir,
cmExecutionStatus& status); cmExecutionStatus& status) const;
}; };
+1 -9
View File
@@ -14,7 +14,6 @@
#include "cmCTest.h" #include "cmCTest.h"
#include "cmCTestGenericHandler.h" #include "cmCTestGenericHandler.h"
#include "cmCTestSubmitHandler.h" #include "cmCTestSubmitHandler.h"
#include "cmCommand.h"
#include "cmExecutionStatus.h" #include "cmExecutionStatus.h"
#include "cmList.h" #include "cmList.h"
#include "cmMakefile.h" #include "cmMakefile.h"
@@ -23,13 +22,6 @@
#include "cmSystemTools.h" #include "cmSystemTools.h"
#include "cmValue.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( std::unique_ptr<cmCTestGenericHandler> cmCTestSubmitCommand::InitializeHandler(
HandlerArguments& arguments, cmExecutionStatus& status) const HandlerArguments& arguments, cmExecutionStatus& status) const
{ {
@@ -174,7 +166,7 @@ std::unique_ptr<cmCTestGenericHandler> cmCTestSubmitCommand::InitializeHandler(
} }
bool cmCTestSubmitCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestSubmitCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
// Arguments used by both modes. // Arguments used by both modes.
static auto const parserBase = static auto const parserBase =
+1 -4
View File
@@ -15,7 +15,6 @@
class cmExecutionStatus; class cmExecutionStatus;
class cmCTestGenericHandler; class cmCTestGenericHandler;
class cmCommand;
class cmCTestSubmitCommand : public cmCTestHandlerCommand class cmCTestSubmitCommand : public cmCTestHandlerCommand
{ {
@@ -41,8 +40,6 @@ protected:
}; };
private: private:
std::unique_ptr<cmCommand> Clone() override;
std::string GetName() const override { return "ctest_submit"; } std::string GetName() const override { return "ctest_submit"; }
void CheckArguments(HandlerArguments& arguments, void CheckArguments(HandlerArguments& arguments,
@@ -56,5 +53,5 @@ private:
cmExecutionStatus& status) const override; cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
+1 -9
View File
@@ -14,20 +14,12 @@
#include "cmCTest.h" #include "cmCTest.h"
#include "cmCTestGenericHandler.h" #include "cmCTestGenericHandler.h"
#include "cmCTestTestHandler.h" #include "cmCTestTestHandler.h"
#include "cmCommand.h"
#include "cmDuration.h" #include "cmDuration.h"
#include "cmExecutionStatus.h" #include "cmExecutionStatus.h"
#include "cmMakefile.h" #include "cmMakefile.h"
#include "cmStringAlgorithms.h" #include "cmStringAlgorithms.h"
#include "cmValue.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( std::unique_ptr<cmCTestGenericHandler> cmCTestTestCommand::InitializeHandler(
HandlerArguments& arguments, cmExecutionStatus& status) const HandlerArguments& arguments, cmExecutionStatus& status) const
{ {
@@ -154,7 +146,7 @@ cmCTestTestCommand::InitializeActualHandler(HandlerArguments&,
} }
bool cmCTestTestCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestTestCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
static auto const parser = MakeTestParser<TestArguments>(); static auto const parser = MakeTestParser<TestArguments>();
+1 -4
View File
@@ -19,7 +19,6 @@
class cmExecutionStatus; class cmExecutionStatus;
class cmCTestGenericHandler; class cmCTestGenericHandler;
class cmCTestTestHandler; class cmCTestTestHandler;
class cmCommand;
class cmCTestTestCommand : public cmCTestHandlerCommand class cmCTestTestCommand : public cmCTestHandlerCommand
{ {
@@ -79,8 +78,6 @@ protected:
} }
private: private:
std::unique_ptr<cmCommand> Clone() override;
std::string GetName() const override { return "ctest_test"; } std::string GetName() const override { return "ctest_test"; }
virtual std::unique_ptr<cmCTestTestHandler> InitializeActualHandler( virtual std::unique_ptr<cmCTestTestHandler> InitializeActualHandler(
@@ -90,5 +87,5 @@ private:
HandlerArguments& arguments, cmExecutionStatus& status) const override; HandlerArguments& arguments, cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
+1 -9
View File
@@ -9,18 +9,10 @@
#include "cmCTest.h" #include "cmCTest.h"
#include "cmCTestGenericHandler.h" #include "cmCTestGenericHandler.h"
#include "cmCTestUpdateHandler.h" #include "cmCTestUpdateHandler.h"
#include "cmCommand.h"
#include "cmExecutionStatus.h" #include "cmExecutionStatus.h"
#include "cmMakefile.h" #include "cmMakefile.h"
#include "cmSystemTools.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( std::unique_ptr<cmCTestGenericHandler> cmCTestUpdateCommand::InitializeHandler(
HandlerArguments& args, cmExecutionStatus& status) const HandlerArguments& args, cmExecutionStatus& status) const
{ {
@@ -93,7 +85,7 @@ std::unique_ptr<cmCTestGenericHandler> cmCTestUpdateCommand::InitializeHandler(
} }
bool cmCTestUpdateCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestUpdateCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
static auto const parser = MakeHandlerParser<HandlerArguments>(); static auto const parser = MakeHandlerParser<HandlerArguments>();
+1 -4
View File
@@ -12,7 +12,6 @@
class cmExecutionStatus; class cmExecutionStatus;
class cmCTestGenericHandler; class cmCTestGenericHandler;
class cmCommand;
class cmCTestUpdateCommand : public cmCTestHandlerCommand class cmCTestUpdateCommand : public cmCTestHandlerCommand
{ {
@@ -20,13 +19,11 @@ public:
using cmCTestHandlerCommand::cmCTestHandlerCommand; using cmCTestHandlerCommand::cmCTestHandlerCommand;
private: private:
std::unique_ptr<cmCommand> Clone() override;
std::string GetName() const override { return "ctest_update"; } std::string GetName() const override { return "ctest_update"; }
std::unique_ptr<cmCTestGenericHandler> InitializeHandler( std::unique_ptr<cmCTestGenericHandler> InitializeHandler(
HandlerArguments& args, cmExecutionStatus& status) const override; HandlerArguments& args, cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };
+1 -9
View File
@@ -13,19 +13,11 @@
#include "cmArgumentParser.h" #include "cmArgumentParser.h"
#include "cmCTestGenericHandler.h" #include "cmCTestGenericHandler.h"
#include "cmCTestUploadHandler.h" #include "cmCTestUploadHandler.h"
#include "cmCommand.h"
#include "cmExecutionStatus.h" #include "cmExecutionStatus.h"
#include "cmMakefile.h" #include "cmMakefile.h"
#include "cmMessageType.h" #include "cmMessageType.h"
#include "cmSystemTools.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, void cmCTestUploadCommand::CheckArguments(HandlerArguments& arguments,
cmExecutionStatus& status) const cmExecutionStatus& status) const
{ {
@@ -55,7 +47,7 @@ std::unique_ptr<cmCTestGenericHandler> cmCTestUploadCommand::InitializeHandler(
} }
bool cmCTestUploadCommand::InitialPass(std::vector<std::string> const& args, bool cmCTestUploadCommand::InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) cmExecutionStatus& status) const
{ {
static auto const parser = static auto const parser =
cmArgumentParser<UploadArguments>{ MakeHandlerParser<UploadArguments>() } cmArgumentParser<UploadArguments>{ MakeHandlerParser<UploadArguments>() }
+1 -4
View File
@@ -13,7 +13,6 @@
class cmExecutionStatus; class cmExecutionStatus;
class cmCTestGenericHandler; class cmCTestGenericHandler;
class cmCommand;
class cmCTestUploadCommand : public cmCTestHandlerCommand class cmCTestUploadCommand : public cmCTestHandlerCommand
{ {
@@ -27,8 +26,6 @@ protected:
}; };
private: private:
std::unique_ptr<cmCommand> Clone() override;
std::string GetName() const override { return "ctest_upload"; } std::string GetName() const override { return "ctest_upload"; }
void CheckArguments(HandlerArguments& arguments, void CheckArguments(HandlerArguments& arguments,
@@ -38,5 +35,5 @@ private:
HandlerArguments& arguments, cmExecutionStatus& status) const override; HandlerArguments& arguments, cmExecutionStatus& status) const override;
bool InitialPass(std::vector<std::string> const& args, bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override; cmExecutionStatus& status) const override;
}; };