diff options
-rw-r--r-- | llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp | 3 | ||||
-rw-r--r-- | llvm/test/tools/llvm-cov/Inputs/relative_dir/header.h | 1 | ||||
-rw-r--r-- | llvm/test/tools/llvm-cov/Inputs/relative_dir/main.c | 5 | ||||
-rw-r--r-- | llvm/test/tools/llvm-cov/Inputs/relative_dir/main.covmapping | bin | 0 -> 157 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-cov/Inputs/relative_dir/main.proftext | 16 | ||||
-rw-r--r-- | llvm/test/tools/llvm-cov/coverage-prefix-map.test | 2 | ||||
-rw-r--r-- | llvm/test/tools/llvm-cov/relative-dir.test | 10 | ||||
-rw-r--r-- | llvm/unittests/ProfileData/CoverageMappingTest.cpp | 4 |
8 files changed, 37 insertions, 4 deletions
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp b/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp index 0bb1c57..1a18779 100644 --- a/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp +++ b/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp @@ -175,7 +175,8 @@ Error RawCoverageFilenamesReader::readUncompressed(CovMapVersion Version, else P.assign(CWD); llvm::sys::path::append(P, Filename); - Filenames.push_back(static_cast<std::string>(P)); + sys::path::remove_dots(P, /*remove_dot_dot=*/true); + Filenames.push_back(static_cast<std::string>(P.str())); } } } diff --git a/llvm/test/tools/llvm-cov/Inputs/relative_dir/header.h b/llvm/test/tools/llvm-cov/Inputs/relative_dir/header.h new file mode 100644 index 0000000..a39fce09 --- /dev/null +++ b/llvm/test/tools/llvm-cov/Inputs/relative_dir/header.h @@ -0,0 +1 @@ +int f() { return 0; } diff --git a/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.c b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.c new file mode 100644 index 0000000..26e97a5 --- /dev/null +++ b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.c @@ -0,0 +1,5 @@ +#include "header.h" + +int main() { + return f(); +} diff --git a/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.covmapping b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.covmapping Binary files differnew file mode 100644 index 0000000..665aa96 --- /dev/null +++ b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.covmapping diff --git a/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.proftext b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.proftext new file mode 100644 index 0000000..ab94aa2f --- /dev/null +++ b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.proftext @@ -0,0 +1,16 @@ +f +# Func Hash: +24 +# Num Counters: +1 +# Counter Values: +1 + +main +# Func Hash: +24 +# Num Counters: +1 +# Counter Values: +1 + diff --git a/llvm/test/tools/llvm-cov/coverage-prefix-map.test b/llvm/test/tools/llvm-cov/coverage-prefix-map.test index eaebae3..5e8fae4 100644 --- a/llvm/test/tools/llvm-cov/coverage-prefix-map.test +++ b/llvm/test/tools/llvm-cov/coverage-prefix-map.test @@ -13,7 +13,7 @@ # REPORT: {{^}}bar.h{{.*}} # REPORT: {{^}}TOTAL{{.*}}100.00% -# LCOV: SF:.{{/|\\+}}bar.h +# LCOV: SF:bar.h # LCOV-NOT: SF Instructions for regenerating the test: diff --git a/llvm/test/tools/llvm-cov/relative-dir.test b/llvm/test/tools/llvm-cov/relative-dir.test new file mode 100644 index 0000000..1fc902b --- /dev/null +++ b/llvm/test/tools/llvm-cov/relative-dir.test @@ -0,0 +1,10 @@ +# RUN: llvm-profdata merge %S/Inputs/relative_dir/main.proftext \ +# RUN: -o %t.profdata +# RUN: llvm-cov report %S/Inputs/relative_dir/main.covmapping \ +# RUN: -instr-profile %t.profdata \ +# RUN: -compilation-dir=%S/Inputs/relative_dir/out/default \ +# RUN: %S/Inputs/relative_dir/header.h \ +# RUN: | FileCheck -DDIR=%S/Inputs/relative_dir --check-prefix=REPORT %s + +# REPORT: {{^}}[[DIR]]{{/|\\}}header.h{{.*}} +# REPORT: {{^}}TOTAL{{.*}}100.00% diff --git a/llvm/unittests/ProfileData/CoverageMappingTest.cpp b/llvm/unittests/ProfileData/CoverageMappingTest.cpp index cc4c953..758398d 100644 --- a/llvm/unittests/ProfileData/CoverageMappingTest.cpp +++ b/llvm/unittests/ProfileData/CoverageMappingTest.cpp @@ -943,7 +943,7 @@ TEST(CoverageMappingTest, filename_roundtrip) { for (unsigned I = 1; I < Paths.size(); ++I) { SmallString<256> P(Paths[0]); llvm::sys::path::append(P, Paths[I]); - ASSERT_TRUE(ReadFilenames[I] == P); + ASSERT_EQ(ReadFilenames[I], P); } } } @@ -969,7 +969,7 @@ TEST(CoverageMappingTest, filename_compilation_dir) { for (unsigned I = 1; I < Paths.size(); ++I) { SmallString<256> P(CompilationDir); llvm::sys::path::append(P, Paths[I]); - ASSERT_TRUE(ReadFilenames[I] == P); + ASSERT_EQ(ReadFilenames[I], P); } } } |