From 8768a0c6e1f075a1f87ed7bab1e98b002ba97c00 Mon Sep 17 00:00:00 2001 From: Daniel Pfeifer Date: Wed, 30 Oct 2024 23:31:41 +0100 Subject: [PATCH] cmCTest*Command: Port away from cmCommand Copy the necessary parts, but remove cloning and make all commands immutable. --- Source/CMakeLists.txt | 1 + Source/CTest/cmCTestBuildCommand.cxx | 10 +---- Source/CTest/cmCTestBuildCommand.h | 5 +-- Source/CTest/cmCTestCommand.cxx | 19 ++++++++ Source/CTest/cmCTestCommand.h | 26 ++++++++++- Source/CTest/cmCTestConfigureCommand.cxx | 10 +---- Source/CTest/cmCTestConfigureCommand.h | 5 +-- Source/CTest/cmCTestCoverageCommand.cxx | 10 +---- Source/CTest/cmCTestCoverageCommand.h | 5 +-- Source/CTest/cmCTestMemCheckCommand.cxx | 10 +---- Source/CTest/cmCTestMemCheckCommand.h | 5 +-- .../CTest/cmCTestReadCustomFilesCommand.cxx | 2 +- Source/CTest/cmCTestReadCustomFilesCommand.h | 18 +------- Source/CTest/cmCTestRunScriptCommand.cxx | 2 +- Source/CTest/cmCTestRunScriptCommand.h | 18 +------- Source/CTest/cmCTestScriptHandler.cxx | 44 +++++++------------ Source/CTest/cmCTestScriptHandler.h | 5 --- Source/CTest/cmCTestStartCommand.cxx | 4 +- Source/CTest/cmCTestStartCommand.h | 18 ++------ Source/CTest/cmCTestSubmitCommand.cxx | 10 +---- Source/CTest/cmCTestSubmitCommand.h | 5 +-- Source/CTest/cmCTestTestCommand.cxx | 10 +---- Source/CTest/cmCTestTestCommand.h | 5 +-- Source/CTest/cmCTestUpdateCommand.cxx | 10 +---- Source/CTest/cmCTestUpdateCommand.h | 5 +-- Source/CTest/cmCTestUploadCommand.cxx | 10 +---- Source/CTest/cmCTestUploadCommand.h | 5 +-- 27 files changed, 87 insertions(+), 190 deletions(-) create mode 100644 Source/CTest/cmCTestCommand.cxx diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 8b78b4a51f..44e9ea9193 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -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 diff --git a/Source/CTest/cmCTestBuildCommand.cxx b/Source/CTest/cmCTestBuildCommand.cxx index 8e2bea460c..b57c9030e7 100644 --- a/Source/CTest/cmCTestBuildCommand.cxx +++ b/Source/CTest/cmCTestBuildCommand.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 cmCTestBuildCommand::Clone() -{ - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); -} - bool cmCTestBuildCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { static auto const parser = cmArgumentParser{ MakeHandlerParser() } diff --git a/Source/CTest/cmCTestBuildCommand.h b/Source/CTest/cmCTestBuildCommand.h index f8da407300..a23966d3ca 100644 --- a/Source/CTest/cmCTestBuildCommand.h +++ b/Source/CTest/cmCTestBuildCommand.h @@ -12,7 +12,6 @@ class cmExecutionStatus; class cmCTestGenericHandler; -class cmCommand; class cmCTestBuildCommand : public cmCTestHandlerCommand { @@ -32,8 +31,6 @@ protected: }; private: - std::unique_ptr Clone() override; - std::string GetName() const override { return "ctest_build"; } std::unique_ptr InitializeHandler( @@ -44,5 +41,5 @@ private: cmExecutionStatus& status) const override; bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestCommand.cxx b/Source/CTest/cmCTestCommand.cxx new file mode 100644 index 0000000000..6ecd18bf69 --- /dev/null +++ b/Source/CTest/cmCTestCommand.cxx @@ -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 const& args, + cmExecutionStatus& status) const +{ + cmMakefile& mf = status.GetMakefile(); + std::vector 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); +} diff --git a/Source/CTest/cmCTestCommand.h b/Source/CTest/cmCTestCommand.h index ccdef7cc24..777910a195 100644 --- a/Source/CTest/cmCTestCommand.h +++ b/Source/CTest/cmCTestCommand.h @@ -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 +#include 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 const& args, + cmExecutionStatus& status) const; + +private: + virtual bool InitialPass(std::vector const& args, + cmExecutionStatus&) const = 0; + +protected: cmCTest* CTest = nullptr; }; diff --git a/Source/CTest/cmCTestConfigureCommand.cxx b/Source/CTest/cmCTestConfigureCommand.cxx index 87becab777..6255416481 100644 --- a/Source/CTest/cmCTestConfigureCommand.cxx +++ b/Source/CTest/cmCTestConfigureCommand.cxx @@ -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 cmCTestConfigureCommand::Clone() -{ - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); -} - std::unique_ptr cmCTestConfigureCommand::InitializeHandler(HandlerArguments& arguments, cmExecutionStatus& status) const @@ -164,7 +156,7 @@ cmCTestConfigureCommand::InitializeHandler(HandlerArguments& arguments, } bool cmCTestConfigureCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { using Args = ConfigureArguments; static auto const parser = diff --git a/Source/CTest/cmCTestConfigureCommand.h b/Source/CTest/cmCTestConfigureCommand.h index b973703a00..c2c6b3a6aa 100644 --- a/Source/CTest/cmCTestConfigureCommand.h +++ b/Source/CTest/cmCTestConfigureCommand.h @@ -12,7 +12,6 @@ class cmExecutionStatus; class cmCTestGenericHandler; -class cmCommand; class cmCTestConfigureCommand : public cmCTestHandlerCommand { @@ -26,13 +25,11 @@ protected: }; private: - std::unique_ptr Clone() override; - std::string GetName() const override { return "ctest_configure"; } std::unique_ptr InitializeHandler( HandlerArguments& arguments, cmExecutionStatus& status) const override; bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestCoverageCommand.cxx b/Source/CTest/cmCTestCoverageCommand.cxx index 39f4eb9842..6bed1a35f5 100644 --- a/Source/CTest/cmCTestCoverageCommand.cxx +++ b/Source/CTest/cmCTestCoverageCommand.cxx @@ -12,18 +12,10 @@ #include "cmCTest.h" #include "cmCTestCoverageHandler.h" #include "cmCTestGenericHandler.h" -#include "cmCommand.h" #include "cmExecutionStatus.h" class cmMakefile; -std::unique_ptr cmCTestCoverageCommand::Clone() -{ - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); -} - std::unique_ptr cmCTestCoverageCommand::InitializeHandler(HandlerArguments& arguments, cmExecutionStatus& status) const @@ -47,7 +39,7 @@ cmCTestCoverageCommand::InitializeHandler(HandlerArguments& arguments, } bool cmCTestCoverageCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { using Args = CoverageArguments; static auto const parser = diff --git a/Source/CTest/cmCTestCoverageCommand.h b/Source/CTest/cmCTestCoverageCommand.h index 63a3b10cd9..dfbb9bebb4 100644 --- a/Source/CTest/cmCTestCoverageCommand.h +++ b/Source/CTest/cmCTestCoverageCommand.h @@ -15,7 +15,6 @@ class cmExecutionStatus; class cmCTestGenericHandler; -class cmCommand; class cmCTestCoverageCommand : public cmCTestHandlerCommand { @@ -29,13 +28,11 @@ protected: }; private: - std::unique_ptr Clone() override; - std::string GetName() const override { return "ctest_coverage"; } std::unique_ptr InitializeHandler( HandlerArguments& arguments, cmExecutionStatus& status) const override; bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestMemCheckCommand.cxx b/Source/CTest/cmCTestMemCheckCommand.cxx index 165ad47b4f..28d715879e 100644 --- a/Source/CTest/cmCTestMemCheckCommand.cxx +++ b/Source/CTest/cmCTestMemCheckCommand.cxx @@ -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 cmCTestMemCheckCommand::Clone() -{ - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); -} - std::unique_ptr cmCTestMemCheckCommand::InitializeActualHandler( HandlerArguments& args, cmExecutionStatus& status) const @@ -62,7 +54,7 @@ void cmCTestMemCheckCommand::ProcessAdditionalValues( } bool cmCTestMemCheckCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { static auto const parser = cmArgumentParser{ MakeTestParser() } diff --git a/Source/CTest/cmCTestMemCheckCommand.h b/Source/CTest/cmCTestMemCheckCommand.h index 6519486daa..0f3a7fc13c 100644 --- a/Source/CTest/cmCTestMemCheckCommand.h +++ b/Source/CTest/cmCTestMemCheckCommand.h @@ -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 Clone() override; - std::string GetName() const override { return "ctest_memcheck"; } std::unique_ptr InitializeActualHandler( @@ -39,5 +36,5 @@ private: cmExecutionStatus& status) const override; bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestReadCustomFilesCommand.cxx b/Source/CTest/cmCTestReadCustomFilesCommand.cxx index 6075f9bc95..992676fe0c 100644 --- a/Source/CTest/cmCTestReadCustomFilesCommand.cxx +++ b/Source/CTest/cmCTestReadCustomFilesCommand.cxx @@ -8,7 +8,7 @@ class cmMakefile; bool cmCTestReadCustomFilesCommand::InitialPass( - std::vector const& args, cmExecutionStatus& status) + std::vector const& args, cmExecutionStatus& status) const { if (args.empty()) { status.SetError("called with incorrect number of arguments"); diff --git a/Source/CTest/cmCTestReadCustomFilesCommand.h b/Source/CTest/cmCTestReadCustomFilesCommand.h index 03714f6fb6..bf12e9ea4d 100644 --- a/Source/CTest/cmCTestReadCustomFilesCommand.h +++ b/Source/CTest/cmCTestReadCustomFilesCommand.h @@ -5,13 +5,9 @@ #include "cmConfigure.h" // IWYU pragma: keep #include -#include #include -#include - #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 Clone() override - { - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); - } + using cmCTestCommand::cmCTestCommand; /** * This is called when the command is first encountered in * the CMakeLists.txt file. */ bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestRunScriptCommand.cxx b/Source/CTest/cmCTestRunScriptCommand.cxx index 179fac4c72..74620a2f6f 100644 --- a/Source/CTest/cmCTestRunScriptCommand.cxx +++ b/Source/CTest/cmCTestRunScriptCommand.cxx @@ -8,7 +8,7 @@ #include "cmSystemTools.h" bool cmCTestRunScriptCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { if (args.empty()) { status.SetError("called with incorrect number of arguments"); diff --git a/Source/CTest/cmCTestRunScriptCommand.h b/Source/CTest/cmCTestRunScriptCommand.h index c7b1c5a80e..2ccc0e7bae 100644 --- a/Source/CTest/cmCTestRunScriptCommand.h +++ b/Source/CTest/cmCTestRunScriptCommand.h @@ -5,13 +5,9 @@ #include "cmConfigure.h" // IWYU pragma: keep #include -#include #include -#include - #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 Clone() override - { - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); - } + using cmCTestCommand::cmCTestCommand; /** * This is called when the command is first encountered in * the CMakeLists.txt file. */ bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestScriptHandler.cxx b/Source/CTest/cmCTestScriptHandler.cxx index 6c63c9d16c..7d7fa944a4 100644 --- a/Source/CTest/cmCTestScriptHandler.cxx +++ b/Source/CTest/cmCTestScriptHandler.cxx @@ -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 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()); - this->AddCTestCommand("ctest_configure", - cm::make_unique()); - this->AddCTestCommand("ctest_coverage", - cm::make_unique()); + 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()); - this->AddCTestCommand("ctest_read_custom_files", - cm::make_unique()); - this->AddCTestCommand("ctest_run_script", - cm::make_unique()); + 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()); - this->AddCTestCommand("ctest_submit", - cm::make_unique()); - this->AddCTestCommand("ctest_test", cm::make_unique()); - this->AddCTestCommand("ctest_update", - cm::make_unique()); - this->AddCTestCommand("ctest_upload", - cm::make_unique()); + 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 diff --git a/Source/CTest/cmCTestScriptHandler.h b/Source/CTest/cmCTestScriptHandler.h index 109dac4823..bcb3933425 100644 --- a/Source/CTest/cmCTestScriptHandler.h +++ b/Source/CTest/cmCTestScriptHandler.h @@ -9,7 +9,6 @@ #include 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 command); - cmCTest* CTest = nullptr; std::vector ConfigurationScripts; std::vector ScriptProcessScope; diff --git a/Source/CTest/cmCTestStartCommand.cxx b/Source/CTest/cmCTestStartCommand.cxx index 71912e1831..3f610d096a 100644 --- a/Source/CTest/cmCTestStartCommand.cxx +++ b/Source/CTest/cmCTestStartCommand.cxx @@ -15,7 +15,7 @@ #include "cmValue.h" bool cmCTestStartCommand::InitialPass(std::vector 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 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. diff --git a/Source/CTest/cmCTestStartCommand.h b/Source/CTest/cmCTestStartCommand.h index b86e8a31f5..325471ab51 100644 --- a/Source/CTest/cmCTestStartCommand.h +++ b/Source/CTest/cmCTestStartCommand.h @@ -6,13 +6,9 @@ #include #include -#include #include -#include - #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 Clone() override - { - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); - } + using cmCTestCommand::cmCTestCommand; /** * This is called when the command is first encountered in * the CMakeLists.txt file. */ bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; private: bool InitialCheckout(std::ostream& ofs, std::string const& sourceDir, - cmExecutionStatus& status); + cmExecutionStatus& status) const; }; diff --git a/Source/CTest/cmCTestSubmitCommand.cxx b/Source/CTest/cmCTestSubmitCommand.cxx index 6f1ede2ff8..8ae0f4c650 100644 --- a/Source/CTest/cmCTestSubmitCommand.cxx +++ b/Source/CTest/cmCTestSubmitCommand.cxx @@ -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 cmCTestSubmitCommand::Clone() -{ - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); -} - std::unique_ptr cmCTestSubmitCommand::InitializeHandler( HandlerArguments& arguments, cmExecutionStatus& status) const { @@ -174,7 +166,7 @@ std::unique_ptr cmCTestSubmitCommand::InitializeHandler( } bool cmCTestSubmitCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { // Arguments used by both modes. static auto const parserBase = diff --git a/Source/CTest/cmCTestSubmitCommand.h b/Source/CTest/cmCTestSubmitCommand.h index 2cd747cbbd..9c02fc8033 100644 --- a/Source/CTest/cmCTestSubmitCommand.h +++ b/Source/CTest/cmCTestSubmitCommand.h @@ -15,7 +15,6 @@ class cmExecutionStatus; class cmCTestGenericHandler; -class cmCommand; class cmCTestSubmitCommand : public cmCTestHandlerCommand { @@ -41,8 +40,6 @@ protected: }; private: - std::unique_ptr 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 const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestTestCommand.cxx b/Source/CTest/cmCTestTestCommand.cxx index f25d227680..ef3c80f739 100644 --- a/Source/CTest/cmCTestTestCommand.cxx +++ b/Source/CTest/cmCTestTestCommand.cxx @@ -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 cmCTestTestCommand::Clone() -{ - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); -} - std::unique_ptr cmCTestTestCommand::InitializeHandler( HandlerArguments& arguments, cmExecutionStatus& status) const { @@ -154,7 +146,7 @@ cmCTestTestCommand::InitializeActualHandler(HandlerArguments&, } bool cmCTestTestCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { static auto const parser = MakeTestParser(); diff --git a/Source/CTest/cmCTestTestCommand.h b/Source/CTest/cmCTestTestCommand.h index 667d2437a0..038d219733 100644 --- a/Source/CTest/cmCTestTestCommand.h +++ b/Source/CTest/cmCTestTestCommand.h @@ -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 Clone() override; - std::string GetName() const override { return "ctest_test"; } virtual std::unique_ptr InitializeActualHandler( @@ -90,5 +87,5 @@ private: HandlerArguments& arguments, cmExecutionStatus& status) const override; bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestUpdateCommand.cxx b/Source/CTest/cmCTestUpdateCommand.cxx index ae521a776a..a691088cd7 100644 --- a/Source/CTest/cmCTestUpdateCommand.cxx +++ b/Source/CTest/cmCTestUpdateCommand.cxx @@ -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 cmCTestUpdateCommand::Clone() -{ - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); -} - std::unique_ptr cmCTestUpdateCommand::InitializeHandler( HandlerArguments& args, cmExecutionStatus& status) const { @@ -93,7 +85,7 @@ std::unique_ptr cmCTestUpdateCommand::InitializeHandler( } bool cmCTestUpdateCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { static auto const parser = MakeHandlerParser(); diff --git a/Source/CTest/cmCTestUpdateCommand.h b/Source/CTest/cmCTestUpdateCommand.h index 95a1a18541..7635aa07d9 100644 --- a/Source/CTest/cmCTestUpdateCommand.h +++ b/Source/CTest/cmCTestUpdateCommand.h @@ -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 Clone() override; - std::string GetName() const override { return "ctest_update"; } std::unique_ptr InitializeHandler( HandlerArguments& args, cmExecutionStatus& status) const override; bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; }; diff --git a/Source/CTest/cmCTestUploadCommand.cxx b/Source/CTest/cmCTestUploadCommand.cxx index d77363932f..570e110029 100644 --- a/Source/CTest/cmCTestUploadCommand.cxx +++ b/Source/CTest/cmCTestUploadCommand.cxx @@ -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 cmCTestUploadCommand::Clone() -{ - auto ni = cm::make_unique(); - ni->CTest = this->CTest; - return std::unique_ptr(std::move(ni)); -} - void cmCTestUploadCommand::CheckArguments(HandlerArguments& arguments, cmExecutionStatus& status) const { @@ -55,7 +47,7 @@ std::unique_ptr cmCTestUploadCommand::InitializeHandler( } bool cmCTestUploadCommand::InitialPass(std::vector const& args, - cmExecutionStatus& status) + cmExecutionStatus& status) const { static auto const parser = cmArgumentParser{ MakeHandlerParser() } diff --git a/Source/CTest/cmCTestUploadCommand.h b/Source/CTest/cmCTestUploadCommand.h index d2a7320d35..4fa1b1daac 100644 --- a/Source/CTest/cmCTestUploadCommand.h +++ b/Source/CTest/cmCTestUploadCommand.h @@ -13,7 +13,6 @@ class cmExecutionStatus; class cmCTestGenericHandler; -class cmCommand; class cmCTestUploadCommand : public cmCTestHandlerCommand { @@ -27,8 +26,6 @@ protected: }; private: - std::unique_ptr 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 const& args, - cmExecutionStatus& status) override; + cmExecutionStatus& status) const override; };