diff options
Diffstat (limited to 'Source/CTest/cmCTestSubmitCommand.h')
-rw-r--r-- | Source/CTest/cmCTestSubmitCommand.h | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestSubmitCommand.h b/Source/CTest/cmCTestSubmitCommand.h new file mode 100644 index 0000000..53ee875 --- /dev/null +++ b/Source/CTest/cmCTestSubmitCommand.h @@ -0,0 +1,118 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2000-2009 Kitware, Inc., Insight Software Consortium + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ +#ifndef cmCTestSubmitCommand_h +#define cmCTestSubmitCommand_h + +#include "cmCTestHandlerCommand.h" +#include "cmCTest.h" + +/** \class cmCTestSubmit + * \brief Run a ctest script + * + * cmCTestSubmitCommand defineds the command to submit the test results for + * the project. + */ +class cmCTestSubmitCommand : public cmCTestHandlerCommand +{ +public: + + cmCTestSubmitCommand() + { + this->PartsMentioned = false; + this->FilesMentioned = false; + this->InternalTest = false; + this->RetryCount = ""; + this->RetryDelay = ""; + } + + /** + * This is a virtual constructor for the command. + */ + virtual cmCommand* Clone() + { + cmCTestSubmitCommand* ni = new cmCTestSubmitCommand; + ni->CTest = this->CTest; + ni->CTestScriptHandler = this->CTestScriptHandler; + return ni; + } + + /** + * The name of the command as specified in CMakeList.txt. + */ + virtual const char* GetName() const { return "ctest_submit";} + + /** + * Succinct documentation. + */ + virtual const char* GetTerseDocumentation() const + { + return "Submit results to a dashboard server."; + } + + /** + * More documentation. + */ + virtual const char* GetFullDocumentation() const + { + return + " ctest_submit([PARTS ...] [FILES ...] [RETRY_COUNT count] " + " [RETRY_DELAY delay][RETURN_VALUE res])\n" + "By default all available parts are submitted if no PARTS or FILES " + "are specified. " + "The PARTS option lists a subset of parts to be submitted. " + "Valid part names are:\n" + " Start = nothing\n" + " Update = ctest_update results, in Update.xml\n" + " Configure = ctest_configure results, in Configure.xml\n" + " Build = ctest_build results, in Build.xml\n" + " Test = ctest_test results, in Test.xml\n" + " Coverage = ctest_coverage results, in Coverage.xml\n" + " MemCheck = ctest_memcheck results, in DynamicAnalysis.xml\n" + " Notes = Files listed by CTEST_NOTES_FILES, in Notes.xml\n" + " ExtraFiles = Files listed by CTEST_EXTRA_SUBMIT_FILES\n" + " Submit = nothing\n" + "The FILES option explicitly lists specific files to be submitted. " + "Each individual file must exist at the time of the call.\n" + "The RETRY_DELAY option specifies how long in seconds to wait after " + "a timed-out submission before attempting to re-submit.\n" + "The RETRY_COUNT option specifies how many times to retry a timed-out " + "submission.\n"; + } + + cmTypeMacro(cmCTestSubmitCommand, cmCTestHandlerCommand); + +protected: + cmCTestGenericHandler* InitializeHandler(); + + virtual bool CheckArgumentKeyword(std::string const& arg); + virtual bool CheckArgumentValue(std::string const& arg); + + enum + { + ArgumentDoingParts = Superclass::ArgumentDoingLast1, + ArgumentDoingFiles, + ArgumentDoingRetryDelay, + ArgumentDoingRetryCount, + ArgumentDoingLast2 + }; + + bool PartsMentioned; + std::set<cmCTest::Part> Parts; + bool FilesMentioned; + bool InternalTest; + cmCTest::SetOfStrings Files; + std::string RetryCount; + std::string RetryDelay; +}; + + +#endif |