summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmParseCoberturaCoverage.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/CTest/cmParseCoberturaCoverage.cxx')
-rw-r--r--Source/CTest/cmParseCoberturaCoverage.cxx158
1 files changed, 63 insertions, 95 deletions
diff --git a/Source/CTest/cmParseCoberturaCoverage.cxx b/Source/CTest/cmParseCoberturaCoverage.cxx
index d3b99fb..3bdae17 100644
--- a/Source/CTest/cmParseCoberturaCoverage.cxx
+++ b/Source/CTest/cmParseCoberturaCoverage.cxx
@@ -5,117 +5,97 @@
#include <cmsys/Directory.hxx>
#include <cmsys/FStream.hxx>
-class cmParseCoberturaCoverage::XMLParser: public cmXMLParser
+class cmParseCoberturaCoverage::XMLParser : public cmXMLParser
{
public:
XMLParser(cmCTest* ctest, cmCTestCoverageHandlerContainer& cont)
- : CTest(ctest), Coverage(cont)
+ : CTest(ctest)
+ , Coverage(cont)
{
- this->InSources = false;
- this->InSource = false;
- this->SkipThisClass = false;
- this->FilePaths.push_back(this->Coverage.SourceDir);
- this->FilePaths.push_back(this->Coverage.BinaryDir);
- this->CurFileName = "";
+ this->InSources = false;
+ this->InSource = false;
+ this->SkipThisClass = false;
+ this->FilePaths.push_back(this->Coverage.SourceDir);
+ this->FilePaths.push_back(this->Coverage.BinaryDir);
+ this->CurFileName = "";
}
- virtual ~XMLParser()
- {
- }
+ virtual ~XMLParser() {}
protected:
-
-
virtual void EndElement(const std::string& name)
{
- if(name == "source")
- {
- this->InSource=false;
- }
- else if (name == "sources")
- {
- this->InSources=false;
- }
- else if(name == "class")
- {
+ if (name == "source") {
+ this->InSource = false;
+ } else if (name == "sources") {
+ this->InSources = false;
+ } else if (name == "class") {
this->SkipThisClass = false;
- }
+ }
}
virtual void CharacterDataHandler(const char* data, int length)
{
- std::string tmp;
- tmp.insert(0,data,length);
- if (this->InSources && this->InSource)
- {
- this->FilePaths.push_back(tmp);
- cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
- "Adding Source: " << tmp << std::endl, this->Coverage.Quiet);
- }
+ std::string tmp;
+ tmp.insert(0, data, length);
+ if (this->InSources && this->InSource) {
+ this->FilePaths.push_back(tmp);
+ cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
+ "Adding Source: " << tmp << std::endl,
+ this->Coverage.Quiet);
+ }
}
virtual void StartElement(const std::string& name, const char** atts)
{
std::string FoundSource;
std::string finalpath = "";
- if(name == "source")
- {
+ if (name == "source") {
this->InSource = true;
- }
- else if(name == "sources")
- {
+ } else if (name == "sources") {
this->InSources = true;
- }
- else if(name == "class")
- {
+ } else if (name == "class") {
int tagCount = 0;
- while(true)
- {
- if(strcmp(atts[tagCount], "filename") == 0)
- {
+ while (true) {
+ if (strcmp(atts[tagCount], "filename") == 0) {
cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
- "Reading file: " << atts[tagCount+1]<< std::endl,
- this->Coverage.Quiet);
- std::string filename = atts[tagCount+1];
+ "Reading file: " << atts[tagCount + 1]
+ << std::endl,
+ this->Coverage.Quiet);
+ std::string filename = atts[tagCount + 1];
this->CurFileName = "";
// Check if this is an absolute path that falls within our
// source or binary directories.
- for(size_t i=0;i < FilePaths.size();i++)
- {
- if (filename.find(FilePaths[i]) == 0)
- {
+ for (size_t i = 0; i < FilePaths.size(); i++) {
+ if (filename.find(FilePaths[i]) == 0) {
this->CurFileName = filename;
break;
- }
}
+ }
- if (this->CurFileName == "")
- {
+ if (this->CurFileName == "") {
// Check if this is a path that is relative to our source or
// binary directories.
- for(size_t i=0;i < FilePaths.size();i++)
- {
+ for (size_t i = 0; i < FilePaths.size(); i++) {
finalpath = FilePaths[i] + "/" + filename;
- if(cmSystemTools::FileExists(finalpath.c_str()))
- {
+ if (cmSystemTools::FileExists(finalpath.c_str())) {
this->CurFileName = finalpath;
break;
- }
}
}
+ }
cmsys::ifstream fin(this->CurFileName.c_str());
- if(this->CurFileName == "" || !fin )
- {
- this->CurFileName = this->Coverage.BinaryDir + "/" +
- atts[tagCount+1];
+ if (this->CurFileName == "" || !fin) {
+ this->CurFileName =
+ this->Coverage.BinaryDir + "/" + atts[tagCount + 1];
fin.open(this->CurFileName.c_str());
- if (!fin)
- {
+ if (!fin) {
cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
- "Skipping system file " << filename << std::endl,
- this->Coverage.Quiet);
+ "Skipping system file " << filename
+ << std::endl,
+ this->Coverage.Quiet);
this->SkipThisClass = true;
break;
@@ -124,8 +104,7 @@ protected:
std::string line;
FileLinesType& curFileLines =
this->Coverage.TotalCoverage[this->CurFileName];
- while(cmSystemTools::GetLineFromStream(fin, line))
- {
+ while (cmSystemTools::GetLineFromStream(fin, line)) {
curFileLines.push_back(-1);
}
@@ -133,34 +112,26 @@ protected:
}
++tagCount;
}
- }
- else if(name == "line")
- {
+ } else if (name == "line") {
int tagCount = 0;
int curNumber = -1;
int curHits = -1;
- while(true)
- {
- if(this->SkipThisClass)
- {
+ while (true) {
+ if (this->SkipThisClass) {
break;
- }
- if(strcmp(atts[tagCount], "hits") == 0)
- {
- curHits = atoi(atts[tagCount+1]);
}
- else if(strcmp(atts[tagCount], "number") == 0)
- {
- curNumber = atoi(atts[tagCount+1]);
+ if (strcmp(atts[tagCount], "hits") == 0) {
+ curHits = atoi(atts[tagCount + 1]);
+ } else if (strcmp(atts[tagCount], "number") == 0) {
+ curNumber = atoi(atts[tagCount + 1]);
}
- if(curHits > -1 && curNumber > 0)
- {
+ if (curHits > -1 && curNumber > 0) {
FileLinesType& curFileLines =
this->Coverage.TotalCoverage[this->CurFileName];
- {
- curFileLines[curNumber-1] = curHits;
- }
+ {
+ curFileLines[curNumber - 1] = curHits;
+ }
break;
}
++tagCount;
@@ -169,24 +140,21 @@ protected:
}
private:
-
bool InSources;
bool InSource;
bool SkipThisClass;
std::vector<std::string> FilePaths;
typedef cmCTestCoverageHandlerContainer::SingleFileCoverageVector
- FileLinesType;
+ FileLinesType;
cmCTest* CTest;
cmCTestCoverageHandlerContainer& Coverage;
std::string CurFileName;
-
};
-
cmParseCoberturaCoverage::cmParseCoberturaCoverage(
- cmCTestCoverageHandlerContainer& cont,
- cmCTest* ctest)
- :Coverage(cont), CTest(ctest)
+ cmCTestCoverageHandlerContainer& cont, cmCTest* ctest)
+ : Coverage(cont)
+ , CTest(ctest)
{
}