summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/CTest/cmCTestCoverageHandler.cxx13
-rw-r--r--Source/cmCTest.cxx20
2 files changed, 21 insertions, 12 deletions
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx
index 2090b2f..d846851 100644
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@ -1288,7 +1288,7 @@ int cmCTestCoverageHandler::RunBullseyeCoverageBranch(
<< std::endl);
// start the file output
covLogFile << "\t<File Name=\""
- << this->CTest->MakeXMLSafe(file.c_str())
+ << this->CTest->MakeXMLSafe(i->first.c_str())
<< "\" FullPath=\"" << this->CTest->MakeXMLSafe(
this->CTest->GetShortPathToFile(
i->second.c_str())) << "\">" << std::endl
@@ -1478,21 +1478,22 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
<< std::endl);
continue;
}
+
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
"Doing coverage for: "
<< file.c_str()
<< std::endl);
coveredFiles.push_back(sourceFile);
+ coveredFilesFullPath.push_back(file);
+
number_files++;
total_functions += totalFunctions;
total_tested += functionsCalled;
total_untested += (totalFunctions - functionsCalled);
+
std::string fileName = cmSystemTools::GetFilenameName(file.c_str());
- // get file relative to the source dir
- file = cmSystemTools::RelativePath(cont->SourceDir.c_str(),
- file.c_str());
- coveredFilesFullPath.push_back(file);
+
float cper = percentBranch + percentFunction;
if(totalBranches > 0)
{
@@ -1519,7 +1520,7 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
tmpLog << "percentBranch: " << percentBranch << "\n";
tmpLog << "percentCoverage: " << percent_coverage << "\n";
tmpLog << "coverage metric: " << cmet << "\n";
- covSumFile << "\t<File Name=\"" << this->CTest->MakeXMLSafe(fileName)
+ covSumFile << "\t<File Name=\"" << this->CTest->MakeXMLSafe(sourceFile)
<< "\" FullPath=\"" << this->CTest->MakeXMLSafe(
this->CTest->GetShortPathToFile(file.c_str()))
<< "\" Covered=\"" << (cmet>0?"true":"false") << "\">\n"
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index b650001..3e5d9c6 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -2204,17 +2204,25 @@ std::string cmCTest::GetShortPathToFile(const char* cfname)
{
res = &bldRelpath;
}
+
+ std::string path;
+
if ( !res )
{
- return fname;
+ path = fname;
}
- cmSystemTools::ConvertToUnixSlashes(*res);
-
- std::string path = "./" + *res;
- if ( path[path.size()-1] == '/' )
+ else
{
- path = path.substr(0, path.size()-1);
+ cmSystemTools::ConvertToUnixSlashes(*res);
+
+ path = "./" + *res;
+ if ( path[path.size()-1] == '/' )
+ {
+ path = path.substr(0, path.size()-1);
+ }
}
+
+ cmsys::SystemTools::ReplaceString(path, ":", "_");
return path;
}