summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-cov
diff options
context:
space:
mode:
authorYing Yi <maggieyi666@gmail.com>2016-08-30 07:01:37 +0000
committerYing Yi <maggieyi666@gmail.com>2016-08-30 07:01:37 +0000
commit76eb219c9bd0bf7f248cfa90c2f5255068fb6c43 (patch)
treef0cc25f3cf8afe557b4113c0b8f6d058f428f4e8 /llvm/test/tools/llvm-cov
parent80a9579db9a9d0646de4aaf2bc2b2304ca4c3277 (diff)
downloadbcm5719-llvm-76eb219c9bd0bf7f248cfa90c2f5255068fb6c43.tar.gz
bcm5719-llvm-76eb219c9bd0bf7f248cfa90c2f5255068fb6c43.zip
[llvm-cov] Use the native path in the coverage report.
The coverage reports contain the source or binary file paths. On Windows, the file path might contain the seperators of both '/' and '\'. This patch uses the native path in the coverage reports. For example, on Windows, all '/' are converted to '\'. Differential Revision: https://reviews.llvm.org/D23922 llvm-svn: 280061
Diffstat (limited to 'llvm/test/tools/llvm-cov')
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/native_separators.covmappingbin0 -> 112 bytes
-rw-r--r--llvm/test/tools/llvm-cov/double_dots.c2
-rw-r--r--llvm/test/tools/llvm-cov/native_separators.c21
3 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-cov/Inputs/native_separators.covmapping b/llvm/test/tools/llvm-cov/Inputs/native_separators.covmapping
new file mode 100644
index 00000000000..ce8d6bb7d9e
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/native_separators.covmapping
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/double_dots.c b/llvm/test/tools/llvm-cov/double_dots.c
index 2c79a6ecf61..9f4b7c125f6 100644
--- a/llvm/test/tools/llvm-cov/double_dots.c
+++ b/llvm/test/tools/llvm-cov/double_dots.c
@@ -5,6 +5,8 @@
// RUN: llvm-profdata merge %S/Inputs/double_dots.proftext -o %t.profdata
// RUN: llvm-cov show %S/Inputs/double_dots.covmapping -instr-profile=%t.profdata -o %t.dir
// RUN: FileCheck -input-file=%t.dir/index.txt %s
+// RUN: llvm-cov show -format=html %S/Inputs/double_dots.covmapping -instr-profile=%t.profdata -o %t.dir
+// RUN: FileCheck -input-file=%t.dir/index.html %s
// CHECK-NOT: coverage{{.*}}dots{{.*}}..{{.*}}dots
diff --git a/llvm/test/tools/llvm-cov/native_separators.c b/llvm/test/tools/llvm-cov/native_separators.c
new file mode 100644
index 00000000000..9e74c861af9
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/native_separators.c
@@ -0,0 +1,21 @@
+// To create the covmapping for this file on Linux, copy this file to /tmp
+// cd into /tmp. Use llvm-cov convert-for-testing to extract the covmapping.
+// This test is Windows-only. It checks that all paths, which are generated
+// in the index and source coverage reports, are native path. For example,
+// on Windows all '/' are converted to '\'.
+// REQUIRES: system-windows
+
+// RUN: llvm-profdata merge %S/Inputs/double_dots.proftext -o %t.profdata
+// RUN: llvm-cov show %S/Inputs/native_separators.covmapping -instr-profile=%t.profdata -o %t.dir
+// RUN: FileCheck -check-prefixes=TEXT-INDEX -input-file=%t.dir/index.txt %s
+// RUN: llvm-cov show -format=html %S/Inputs/native_separators.covmapping -instr-profile=%t.profdata -filename-equivalence ../llvm-config/../llvm-cov/native_separators.c -o %t.dir
+// RUN: FileCheck -check-prefixes=HTML-INDEX -input-file=%t.dir/index.html %s
+// RUN: llvm-cov show -format=html %S/Inputs/native_separators.covmapping -instr-profile=%t.profdata -filename-equivalence %s -o %t.dir
+// RUN: FileCheck -check-prefixes=HTML -input-file=%t.dir/coverage/tmp/native_separators.c.html %s
+
+// TEXT-INDEX: \tmp\native_separators.c
+// HTML-INDEX: >tmp\native_separators.c</a>
+// HTML: <pre>Source: \tmp\native_separators.c</pre>
+// HTML: tools\llvm-cov\Inputs\native_separators.covmapping</pre>
+
+int main() {}
OpenPOWER on IntegriCloud