summaryrefslogtreecommitdiff
path: root/test/tools/llvm-cov/llvm-cov.test
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2014-05-07 02:11:23 +0000
committerJustin Bogner <mail@justinbogner.com>2014-05-07 02:11:23 +0000
commitc92330c18ce2f7015f0db88e4bfce3d253fa3c57 (patch)
treeae700f9e5977fb7a1bc760e4f2746b9b2350379b /test/tools/llvm-cov/llvm-cov.test
parent56d05e468cdfd4ad195f264974f1b841bc4ca785 (diff)
downloadllvm-c92330c18ce2f7015f0db88e4bfce3d253fa3c57.tar.gz
llvm-c92330c18ce2f7015f0db88e4bfce3d253fa3c57.tar.bz2
llvm-c92330c18ce2f7015f0db88e4bfce3d253fa3c57.tar.xz
llvm-cov: Handle missing source files as GCOV does
If the source files referenced by a gcno file are missing, gcov outputs a coverage file where every line is simply /*EOF*/. This also occurs for lines in the coverage that are past the end of a file that is found. This change mimics gcov. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208149 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/tools/llvm-cov/llvm-cov.test')
-rw-r--r--test/tools/llvm-cov/llvm-cov.test6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/tools/llvm-cov/llvm-cov.test b/test/tools/llvm-cov/llvm-cov.test
index 8f57d9a189..2345f8d51e 100644
--- a/test/tools/llvm-cov/llvm-cov.test
+++ b/test/tools/llvm-cov/llvm-cov.test
@@ -34,6 +34,12 @@ RUN: diff -aub test_objdir.h.gcov test.h.gcov
# With gcov output disabled
RUN: llvm-cov -n test.c | diff -u test_no_output.output -
+# Missing source files. This test is fragile, as it depends on being
+# run before we copy some sources into place in the next test.
+RUN: llvm-cov test_paths.cpp 2>/dev/null | diff -u test_missing.output -
+RUN: diff -aub test_missing.cpp.gcov test.cpp.gcov
+RUN: diff -aub test_missing.h.gcov test.h.gcov
+
# Preserve paths. This mangles the output filenames.
RUN: mkdir -p %t/srcdir/nested_dir
RUN: cp test.cpp test.h %t/srcdir