1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmCTestBuildAndTestHandler_h
- #define cmCTestBuildAndTestHandler_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include "cmCTestGenericHandler.h"
- #include "cmDuration.h"
- #include <sstream>
- #include <stddef.h>
- #include <string>
- #include <vector>
- class cmake;
- /** \class cmCTestBuildAndTestHandler
- * \brief A class that handles ctest -S invocations
- *
- */
- class cmCTestBuildAndTestHandler : public cmCTestGenericHandler
- {
- public:
- typedef cmCTestGenericHandler Superclass;
- /*
- * The main entry point for this class
- */
- int ProcessHandler() override;
- //! Set all the build and test arguments
- int ProcessCommandLineArguments(
- const std::string& currentArg, size_t& idx,
- const std::vector<std::string>& allArgs) override;
- /*
- * Get the output variable
- */
- const char* GetOutput();
- cmCTestBuildAndTestHandler();
- void Initialize() override;
- protected:
- ///! Run CMake and build a test and then run it as a single test.
- int RunCMakeAndTest(std::string* output);
- int RunCMake(std::string* outstring, std::ostringstream& out,
- std::string& cmakeOutString, cmake* cm);
- std::string Output;
- std::string BuildGenerator;
- std::string BuildGeneratorPlatform;
- std::string BuildGeneratorToolset;
- std::vector<std::string> BuildOptions;
- bool BuildTwoConfig;
- std::string BuildMakeProgram;
- std::string ConfigSample;
- std::string SourceDir;
- std::string BinaryDir;
- std::string BuildProject;
- std::string TestCommand;
- bool BuildNoClean;
- std::string BuildRunDir;
- std::string ExecutableDirectory;
- std::vector<std::string> TestCommandArgs;
- std::vector<std::string> BuildTargets;
- bool BuildNoCMake;
- cmDuration Timeout;
- };
- #endif
|