summaryrefslogtreecommitdiffstats
path: root/test/CoverageMapping
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2016-07-18 22:32:02 +0000
committerVedant Kumar <vsk@apple.com>2016-07-18 22:32:02 +0000
commit2e51ff6dc2cbff21383a1469f921b6f953893ab0 (patch)
treece8b213b6d1f041eede840863d0d7bfc57bbbc18 /test/CoverageMapping
parentbca87a6cb2406cc6b6262af8d4a7c06de623065c (diff)
[Coverage] Remove '..' from filenames *after* getting an absolute path
Failure to do this breaks relative paths which begin with '..'. This issue was caught by the (still nascent) coverage bot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@275924 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CoverageMapping')
-rw-r--r--test/CoverageMapping/abspath.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/test/CoverageMapping/abspath.cpp b/test/CoverageMapping/abspath.cpp
index ffc3896c41..dfdf10f425 100644
--- a/test/CoverageMapping/abspath.cpp
+++ b/test/CoverageMapping/abspath.cpp
@@ -1,7 +1,18 @@
-// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -emit-llvm -main-file-name abspath.cpp %S/Inputs/../abspath.cpp -o - | FileCheck %s
+// This test requires mkdir.
+// REQUIRES: shell
+//
+// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -emit-llvm -main-file-name abspath.cpp %S/Inputs/../abspath.cpp -o - | FileCheck -check-prefix=RMDOTS %s
-// CHECK: @__llvm_coverage_mapping = {{.*}}"\01
-// CHECK-NOT: Inputs
-// CHECK: "
+// RMDOTS: @__llvm_coverage_mapping = {{.*}}"\01
+// RMDOTS-NOT: Inputs
+// RMDOTS: "
+
+// RUN: cd %T && mkdir -p test && cd test
+// RUN: echo "void f1() {}" > f1.c
+// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -emit-llvm -main-file-name abspath.cpp ../test/f1.c -o - | FileCheck -check-prefix=RELPATH %s
+
+// RELPATH: @__llvm_coverage_mapping = {{.*}}"\01
+// RELPATH: test{{.*}}f1.c
+// RELPATH: "
void f1() {}