summaryrefslogtreecommitdiffstats
path: root/Source/cmCTest.cxx
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2007-06-11 19:36:50 (GMT)
committerDavid Cole <david.cole@kitware.com>2007-06-11 19:36:50 (GMT)
commited1a04360afaae3d752cd99346856d484ba42f7f (patch)
treeefd6193201f558a8050ff4b8492b5840f4dc4cc5 /Source/cmCTest.cxx
parent422dc631b62edd22be89dfd665ecaede39c4e283 (diff)
downloadCMake-ed1a04360afaae3d752cd99346856d484ba42f7f.zip
CMake-ed1a04360afaae3d752cd99346856d484ba42f7f.tar.gz
CMake-ed1a04360afaae3d752cd99346856d484ba42f7f.tar.bz2
BUG: Never return a string containing a ":" from cmCTest::GetShortPathToFile - replace them with "_". DART cannot construct valid file names during dashboard rollup with ":" in the short path. Also, fix the Bullseye coverage handler so that the file names and paths match in both the coverage summary and the individual coverage logs.
Diffstat (limited to 'Source/cmCTest.cxx')
-rw-r--r--Source/cmCTest.cxx20
1 files changed, 14 insertions, 6 deletions
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;
}