[GCOV] Add a test for function defined on one line (follow-up of https://reviews...
authorCalixte Denizet <cdenizet@mozilla.com>
Tue, 30 Oct 2018 18:41:41 +0000 (18:41 +0000)
committerCalixte Denizet <cdenizet@mozilla.com>
Tue, 30 Oct 2018 18:41:41 +0000 (18:41 +0000)
Summary: Add a test for coverage for function definition like void foo() { }.

Reviewers: marco-c

Reviewed By: marco-c

Subscribers: delcypher, llvm-commits, #sanitizers, sylvestre.ledru

Differential Revision: https://reviews.llvm.org/D53601

llvm-svn: 345625

compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c [new file with mode: 0644]
compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov [new file with mode: 0644]
compiler-rt/test/profile/instrprof-gcov-one-line-function.test [new file with mode: 0644]

diff --git a/compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c b/compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c
new file mode 100644 (file)
index 0000000..ee15823
--- /dev/null
@@ -0,0 +1,11 @@
+void foo() { }
+
+void bar() { }
+
+int main(void) {
+    foo();
+
+    bar();
+
+    return 0;
+}
diff --git a/compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov b/compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
new file mode 100644 (file)
index 0000000..145ce49
--- /dev/null
@@ -0,0 +1,16 @@
+// CHECK:        -:    0:Source:/home/calixte/dev/mozilla/llvm.cal/projects/compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c
+// CHECK-NEXT:        -:    0:Graph:instrprof-gcov-one-line-function.gcno
+// CHECK-NEXT:        -:    0:Data:instrprof-gcov-one-line-function.gcda
+// CHECK-NEXT:        -:    0:Runs:1
+// CHECK-NEXT:        -:    0:Programs:1
+// CHECK-NEXT:        1:    1:void foo() { }
+// CHECK-NEXT:        -:    2:
+// CHECK-NEXT:        1:    3:void bar() { }
+// CHECK-NEXT:        -:    4:
+// CHECK-NEXT:        1:    5:int main(void) {
+// CHECK-NEXT:        1:    6:    foo();
+// CHECK-NEXT:        -:    7:
+// CHECK-NEXT:        1:    8:    bar();
+// CHECK-NEXT:        -:    9:
+// CHECK-NEXT:        1:   10:    return 0;
+// CHECK-NEXT:        -:   11:}
diff --git a/compiler-rt/test/profile/instrprof-gcov-one-line-function.test b/compiler-rt/test/profile/instrprof-gcov-one-line-function.test
new file mode 100644 (file)
index 0000000..d67c21a
--- /dev/null
@@ -0,0 +1,9 @@
+RUN: mkdir -p %t.d
+RUN: cd %t.d
+
+RUN: %clang --coverage -o %t %S/Inputs/instrprof-gcov-one-line-function.c
+RUN: test -f instrprof-gcov-one-line-function.gcno
+RUN: rm -f instrprof-gcov-one-line-function.gcda
+RUN: %run %t
+RUN: llvm-cov gcov instrprof-gcov-one-line-function.gcda
+RUN: FileCheck --match-full-lines --strict-whitespace --input-file instrprof-gcov-one-line-function.c.gcov %S/Inputs/instrprof-gcov-one-line-function.c.gcov