summaryrefslogtreecommitdiff
path: root/Source/CTest/cmCTestGenericHandler.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/CTest/cmCTestGenericHandler.cxx')
-rw-r--r--Source/CTest/cmCTestGenericHandler.cxx163
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;
}