diff options
author | David Cole <david.cole@kitware.com> | 2007-06-11 19:36:50 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2007-06-11 19:36:50 (GMT) |
commit | ed1a04360afaae3d752cd99346856d484ba42f7f (patch) | |
tree | efd6193201f558a8050ff4b8492b5840f4dc4cc5 /Source/cmCTest.cxx | |
parent | 422dc631b62edd22be89dfd665ecaede39c4e283 (diff) | |
download | CMake-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.cxx | 20 |
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; } |