diff options
Diffstat (limited to 'Source/CTest/cmCTestGenericHandler.cxx')
-rw-r--r-- | Source/CTest/cmCTestGenericHandler.cxx | 163 |
1 files changed, 65 insertions, 98 deletions
diff --git a/Source/CTest/cmCTestGenericHandler.cxx b/Source/CTest/cmCTestGenericHandler.cxx index 5338f307b..19034c01b 100644 --- a/Source/CTest/cmCTestGenericHandler.cxx +++ b/Source/CTest/cmCTestGenericHandler.cxx @@ -1,171 +1,138 @@ -/*============================================================================ - 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. -============================================================================*/ - +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmCTestGenericHandler.h" -#include "cmSystemTools.h" + +#include "cmConfigure.h" +#include <sstream> +#include <utility> #include "cmCTest.h" +#include "cmSystemTools.h" -//---------------------------------------------------------------------- cmCTestGenericHandler::cmCTestGenericHandler() { this->HandlerVerbose = cmSystemTools::OUTPUT_NONE; - this->CTest = 0; + this->CTest = CM_NULLPTR; this->SubmitIndex = 0; this->AppendXML = false; + this->Quiet = false; + this->TestLoad = 0; } -//---------------------------------------------------------------------- cmCTestGenericHandler::~cmCTestGenericHandler() { } -//---------------------------------------------------------------------- -void cmCTestGenericHandler::SetOption(const char* op, const char* value) +void cmCTestGenericHandler::SetOption(const std::string& op, const char* value) { - if ( !op ) - { - return; - } - if ( !value ) - { - cmCTestGenericHandler::t_StringToString::iterator remit - = this->Options.find(op); - if ( remit != this->Options.end() ) - { + if (!value) { + cmCTestGenericHandler::t_StringToString::iterator remit = + this->Options.find(op); + if (remit != this->Options.end()) { this->Options.erase(remit); - } - return; } + return; + } this->Options[op] = value; } -//---------------------------------------------------------------------- -void cmCTestGenericHandler::SetPersistentOption(const char* op, +void cmCTestGenericHandler::SetPersistentOption(const std::string& op, const char* value) { this->SetOption(op, value); - if ( !op ) - { - return; - } - if ( !value ) - { - cmCTestGenericHandler::t_StringToString::iterator remit - = this->PersistentOptions.find(op); - if ( remit != this->PersistentOptions.end() ) - { + if (!value) { + cmCTestGenericHandler::t_StringToString::iterator remit = + this->PersistentOptions.find(op); + if (remit != this->PersistentOptions.end()) { this->PersistentOptions.erase(remit); - } - return; } + return; + } this->PersistentOptions[op] = value; } -//---------------------------------------------------------------------- void cmCTestGenericHandler::Initialize() { this->AppendXML = false; + this->TestLoad = 0; this->Options.clear(); t_StringToString::iterator it; - for ( it = this->PersistentOptions.begin(); - it != this->PersistentOptions.end(); - ++ it ) - { - this->Options[it->first.c_str()] = it->second.c_str(); - } + for (it = this->PersistentOptions.begin(); + it != this->PersistentOptions.end(); ++it) { + this->Options[it->first] = it->second; + } } -//---------------------------------------------------------------------- -const char* cmCTestGenericHandler::GetOption(const char* op) +const char* cmCTestGenericHandler::GetOption(const std::string& op) { - cmCTestGenericHandler::t_StringToString::iterator remit - = this->Options.find(op); - if ( remit == this->Options.end() ) - { - return 0; - } + cmCTestGenericHandler::t_StringToString::iterator remit = + this->Options.find(op); + if (remit == this->Options.end()) { + return CM_NULLPTR; + } return remit->second.c_str(); } -//---------------------------------------------------------------------- bool cmCTestGenericHandler::StartResultingXML(cmCTest::Part part, const char* name, cmGeneratedFileStream& xofs) { - if ( !name ) - { + if (!name) { cmCTestLog(this->CTest, ERROR_MESSAGE, - "Cannot create resulting XML file without providing the name" - << std::endl;); + "Cannot create resulting XML file without providing the name" + << std::endl;); return false; - } - cmOStringStream ostr; + } + std::ostringstream ostr; ostr << name; - if ( this->SubmitIndex > 0 ) - { + if (this->SubmitIndex > 0) { ostr << "_" << this->SubmitIndex; - } + } ostr << ".xml"; - if(this->CTest->GetCurrentTag().empty()) - { + if (this->CTest->GetCurrentTag().empty()) { cmCTestLog(this->CTest, ERROR_MESSAGE, "Current Tag empty, this may mean NightlyStartTime / " "CTEST_NIGHTLY_START_TIME was not set correctly. Or " "maybe you forgot to call ctest_start() before calling " - "ctest_configure()." << std::endl); + "ctest_configure()." + << std::endl); cmSystemTools::SetFatalErrorOccured(); return false; - } - if( !this->CTest->OpenOutputFile(this->CTest->GetCurrentTag(), - ostr.str().c_str(), xofs, true) ) - { - cmCTestLog(this->CTest, ERROR_MESSAGE, - "Cannot create resulting XML file: " << ostr.str().c_str() - << std::endl); + } + if (!this->CTest->OpenOutputFile(this->CTest->GetCurrentTag(), ostr.str(), + xofs, true)) { + cmCTestLog(this->CTest, ERROR_MESSAGE, "Cannot create resulting XML file: " + << ostr.str() << std::endl); return false; - } + } this->CTest->AddSubmitFile(part, ostr.str().c_str()); return true; } -//---------------------------------------------------------------------- bool cmCTestGenericHandler::StartLogFile(const char* name, - cmGeneratedFileStream& xofs) + cmGeneratedFileStream& xofs) { - if ( !name ) - { + if (!name) { cmCTestLog(this->CTest, ERROR_MESSAGE, - "Cannot create log file without providing the name" << std::endl;); + "Cannot create log file without providing the name" + << std::endl;); return false; - } - cmOStringStream ostr; + } + std::ostringstream ostr; ostr << "Last" << name; - if ( this->SubmitIndex > 0 ) - { + if (this->SubmitIndex > 0) { ostr << "_" << this->SubmitIndex; - } - if ( !this->CTest->GetCurrentTag().empty() ) - { + } + if (!this->CTest->GetCurrentTag().empty()) { ostr << "_" << this->CTest->GetCurrentTag(); - } + } ostr << ".log"; - if( !this->CTest->OpenOutputFile("Temporary", ostr.str().c_str(), xofs) ) - { - cmCTestLog(this->CTest, ERROR_MESSAGE, "Cannot create log file: " - << ostr.str().c_str() << std::endl); + if (!this->CTest->OpenOutputFile("Temporary", ostr.str(), xofs)) { + cmCTestLog(this->CTest, ERROR_MESSAGE, + "Cannot create log file: " << ostr.str() << std::endl); return false; - } + } return true; } |