diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2005-06-23 17:04:18 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2005-06-23 17:04:18 (GMT) |
commit | 1b578d3180ce60976e4cbe928fce988acfd0da39 (patch) | |
tree | cdefbf878667d466318aeabfa77cc7625cb4777e /Source/CTest/cmCTestGenericHandler.cxx | |
parent | 5c68b61a9caab3f89031155d129b9498d840e502 (diff) | |
download | CMake-1b578d3180ce60976e4cbe928fce988acfd0da39.zip CMake-1b578d3180ce60976e4cbe928fce988acfd0da39.tar.gz CMake-1b578d3180ce60976e4cbe928fce988acfd0da39.tar.bz2 |
ENH: Several improvements with the way things are handled. Also, support multiple submited files
Diffstat (limited to 'Source/CTest/cmCTestGenericHandler.cxx')
-rw-r--r-- | Source/CTest/cmCTestGenericHandler.cxx | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestGenericHandler.cxx b/Source/CTest/cmCTestGenericHandler.cxx index 12ee361..1499d24 100644 --- a/Source/CTest/cmCTestGenericHandler.cxx +++ b/Source/CTest/cmCTestGenericHandler.cxx @@ -17,11 +17,14 @@ #include "cmCTestGenericHandler.h" +#include "cmCTest.h" + //---------------------------------------------------------------------- cmCTestGenericHandler::cmCTestGenericHandler() { m_HandlerVerbose = false; m_CTest = 0; + m_SubmitIndex = 0; } //---------------------------------------------------------------------- @@ -51,6 +54,12 @@ void cmCTestGenericHandler::SetOption(const char* op, const char* value) } //---------------------------------------------------------------------- +void cmCTestGenericHandler::Initialize() +{ + m_Options.clear(); +} + +//---------------------------------------------------------------------- const char* cmCTestGenericHandler::GetOption(const char* op) { cmCTestGenericHandler::t_StringToString::iterator remit @@ -62,3 +71,51 @@ const char* cmCTestGenericHandler::GetOption(const char* op) return remit->second.c_str(); } +//---------------------------------------------------------------------- +bool cmCTestGenericHandler::StartResultingXML(const char* name, cmGeneratedFileStream& xofs) +{ + if ( !name ) + { + cmCTestLog(m_CTest, ERROR_MESSAGE, "Cannot create resulting XML file without providing the name" << std::endl;); + return false; + } + cmOStringStream ostr; + ostr << name; + if ( m_SubmitIndex > 0 ) + { + ostr << "_" << m_SubmitIndex; + } + ostr << ".xml"; + if( !m_CTest->OpenOutputFile(m_CTest->GetCurrentTag(), ostr.str().c_str(), xofs, true) ) + { + cmCTestLog(m_CTest, ERROR_MESSAGE, "Cannot create resulting XML file: " << ostr.str().c_str() << std::endl); + return false; + } + m_CTest->AddSubmitFile(ostr.str().c_str()); + return true; +} + +//---------------------------------------------------------------------- +bool cmCTestGenericHandler::StartLogFile(const char* name, cmGeneratedFileStream& xofs) +{ + if ( !name ) + { + cmCTestLog(m_CTest, ERROR_MESSAGE, "Cannot create log file without providing the name" << std::endl;); + return false; + } + cmOStringStream ostr; + ostr << "Last" << name; + if ( m_SubmitIndex > 0 ) + { + ostr << "_" << m_SubmitIndex; + } + ostr << "_" << m_CTest->GetCurrentTag(); + ostr << ".log"; + if( !m_CTest->OpenOutputFile("Temporary", ostr.str().c_str(), xofs) ) + { + cmCTestLog(m_CTest, ERROR_MESSAGE, "Cannot create log file: " << ostr.str().c_str() << std::endl); + return false; + } + return true; +} + |