summaryrefslogtreecommitdiff
path: root/Source/CTest
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2012-05-02 16:47:24 -0400
committerBill Hoffman <bill.hoffman@kitware.com>2012-05-02 16:47:24 -0400
commita7abf5e090379a77f50ce2285ac4c1c99159d9d2 (patch)
treef3db49dc174f397a2a8de94de7579b122ef0d964 /Source/CTest
parent220afcaf842b9df501b4235df841395878c971e8 (diff)
downloadcmake-a7abf5e090379a77f50ce2285ac4c1c99159d9d2.tar.gz
Add ability to specify more than one package directory or coverage directory.
Diffstat (limited to 'Source/CTest')
-rw-r--r--Source/CTest/cmParseMumpsCoverage.cxx40
1 files changed, 24 insertions, 16 deletions
diff --git a/Source/CTest/cmParseMumpsCoverage.cxx b/Source/CTest/cmParseMumpsCoverage.cxx
index ed263a4ceb..7076315d0c 100644
--- a/Source/CTest/cmParseMumpsCoverage.cxx
+++ b/Source/CTest/cmParseMumpsCoverage.cxx
@@ -29,24 +29,32 @@ bool cmParseMumpsCoverage::ReadCoverageFile(const char* file)
return false;
}
std::string line;
- cmSystemTools::GetLineFromStream(in, line);
- std::string::size_type pos = line.find(':', 0);
- std::string packages;
- if(pos != std::string::npos)
+ while(cmSystemTools::GetLineFromStream(in, line))
{
- packages = line.substr(pos+1);
- }
- cmSystemTools::GetLineFromStream(in, line);
- pos = line.find(':', 0);
- std::string coverage_dir;
- if(pos != std::string::npos)
- {
- coverage_dir = line.substr(pos+1);
+ std::string::size_type pos = line.find(':', 0);
+ std::string packages;
+ if(pos != std::string::npos)
+ {
+ std::string type = line.substr(0, pos);
+ std::string path = line.substr(pos+1);
+ if(type == "packages")
+ {
+ this->LoadPackages(path.c_str());
+ }
+ else if(type == "coverage_dir")
+ {
+ this->LoadCoverageData(path.c_str());
+ }
+ else
+ {
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
+ "Parse Error in Mumps coverage file :\n"
+ << file <<
+ "\ntype: [" << type << "]\npath:[" << path << "]\n"
+ "input line: [" << line << "]\n");
+ }
+ }
}
- // load the mumps files from the packages directory
- this->LoadPackages(packages.c_str());
- // now load the *.mcov files from the coverage directory
- this->LoadCoverageData(coverage_dir.c_str());
return true;
}