summaryrefslogtreecommitdiffstats
path: root/Source/CTest
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-02-04 19:34:12 (GMT)
committerBrad King <brad.king@kitware.com>2009-02-04 19:34:12 (GMT)
commit5f65e04ea2f348bd4584a14afa32a32725f77ce4 (patch)
treee3b8244d4dfa1f8c1e2a7e3821544d6f597a3c22 /Source/CTest
parentc6d499aba5c8848a559a76ee67c84abb992b138b (diff)
downloadCMake-5f65e04ea2f348bd4584a14afa32a32725f77ce4.zip
CMake-5f65e04ea2f348bd4584a14afa32a32725f77ce4.tar.gz
CMake-5f65e04ea2f348bd4584a14afa32a32725f77ce4.tar.bz2
ENH: Refactor Build.xml generation
This divides cmCTestBuildHandler::GenerateDartBuildOutput into three methods to generate the header, content, and footer components of Build.xml files. It will allow the content generation to be replaced later.
Diffstat (limited to 'Source/CTest')
-rw-r--r--Source/CTest/cmCTestBuildHandler.cxx23
-rw-r--r--Source/CTest/cmCTestBuildHandler.h7
2 files changed, 19 insertions, 11 deletions
diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx
index ab19b7b..5b5c68e 100644
--- a/Source/CTest/cmCTestBuildHandler.cxx
+++ b/Source/CTest/cmCTestBuildHandler.cxx
@@ -473,16 +473,14 @@ int cmCTestBuildHandler::ProcessHandler()
<< std::endl);
return -1;
}
- this->GenerateDartBuildOutput(
- xofs, this->ErrorsAndWarnings, elapsed_build_time);
+ this->GenerateXMLHeader(xofs);
+ this->GenerateXMLLogScraped(xofs);
+ this->GenerateXMLFooter(xofs, elapsed_build_time);
return retVal;
}
-//----------------------------------------------------------------------
-void cmCTestBuildHandler::GenerateDartBuildOutput(
- std::ostream& os,
- std::vector<cmCTestBuildErrorWarning> ew,
- double elapsed_build_time)
+//----------------------------------------------------------------------------
+void cmCTestBuildHandler::GenerateXMLHeader(std::ostream& os)
{
this->CTest->StartXML(os, this->AppendXML);
os << "<Build>\n"
@@ -494,7 +492,12 @@ void cmCTestBuildHandler::GenerateDartBuildOutput(
<< this->CTest->MakeXMLSafe(
this->CTest->GetCTestConfiguration("MakeCommand"))
<< "</BuildCommand>" << std::endl;
+}
+//----------------------------------------------------------------------------
+void cmCTestBuildHandler::GenerateXMLLogScraped(std::ostream& os)
+{
+ std::vector<cmCTestBuildErrorWarning>& ew = this->ErrorsAndWarnings;
std::vector<cmCTestBuildErrorWarning>::iterator it;
// only report the first 50 warnings and first 50 errors
@@ -591,6 +594,12 @@ void cmCTestBuildHandler::GenerateDartBuildOutput(
<< std::endl;
}
}
+}
+
+//----------------------------------------------------------------------------
+void cmCTestBuildHandler::GenerateXMLFooter(std::ostream& os,
+ double elapsed_build_time)
+{
os << "\t<Log Encoding=\"base64\" Compression=\"/bin/gzip\">\n\t</Log>\n"
<< "\t<EndDateTime>" << this->EndBuild << "</EndDateTime>\n"
<< "\t<EndBuildTime>" << static_cast<unsigned int>(this->EndBuildTime)
diff --git a/Source/CTest/cmCTestBuildHandler.h b/Source/CTest/cmCTestBuildHandler.h
index cdc1b68..a922977 100644
--- a/Source/CTest/cmCTestBuildHandler.h
+++ b/Source/CTest/cmCTestBuildHandler.h
@@ -86,10 +86,9 @@ private:
};
// generate the XML output
- void GenerateDartBuildOutput(std::ostream& os,
- std::vector<cmCTestBuildErrorWarning>,
- double elapsed_time);
-
+ void GenerateXMLHeader(std::ostream& os);
+ void GenerateXMLLogScraped(std::ostream& os);
+ void GenerateXMLFooter(std::ostream& os, double elapsed_build_time);
std::string StartBuild;
std::string EndBuild;