[compiler-rt] r338500 - [gcov] Add test which uses fork

Marco Castelluccio via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 1 02:11:36 PDT 2018


Author: marco
Date: Wed Aug  1 02:11:36 2018
New Revision: 338500

URL: http://llvm.org/viewvc/llvm-project?rev=338500&view=rev
Log:
[gcov] Add test which uses fork

Test for https://bugs.llvm.org/show_bug.cgi?id=38180.

Added:
    compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c
    compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c.gcov
    compiler-rt/trunk/test/profile/Posix/
    compiler-rt/trunk/test/profile/Posix/instrprof-gcov-fork.test

Added: compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c?rev=338500&view=auto
==============================================================================
--- compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c (added)
+++ compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c Wed Aug  1 02:11:36 2018
@@ -0,0 +1,15 @@
+#include <unistd.h>
+
+void func1() {}
+void func2() {}
+
+int main(void)
+{
+  func1();
+
+  fork();
+
+  func2();
+
+  return 0;
+}

Added: compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c.gcov
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c.gcov?rev=338500&view=auto
==============================================================================
--- compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c.gcov (added)
+++ compiler-rt/trunk/test/profile/Inputs/instrprof-gcov-fork.c.gcov Wed Aug  1 02:11:36 2018
@@ -0,0 +1,23 @@
+// CHECK:        -:    0:Source:{{.*}}Inputs/instrprof-gcov-fork.c
+// CHECK-NEXT:        -:    0:Graph:instrprof-gcov-fork.gcno
+// CHECK-NEXT:        -:    0:Data:instrprof-gcov-fork.gcda
+// CHECK-NEXT:        -:    0:Runs:1
+// CHECK-NEXT:        -:    0:Programs:1
+// CHECK-NEXT:        -:    1:#include <unistd.h>
+// CHECK-NEXT:        -:    2:
+// CHECK-NEXT:function func1 called 1 returned 100% blocks executed 100%
+// CHECK-NEXT:        1:    3:void func1() {}
+// CHECK-NEXT:function func2 called 2 returned 100% blocks executed 100%
+// CHECK-NEXT:        2:    4:void func2() {}
+// CHECK-NEXT:        -:    5:
+// CHECK-NEXT:function main called 1 returned 100% blocks executed 100%
+// CHECK-NEXT:        -:    6:int main(void)
+// CHECK-NEXT:        -:    7:{
+// CHECK-NEXT:        1:    8:  func1();
+// CHECK-NEXT:        -:    9:
+// CHECK-NEXT:        1:   10:  fork();
+// CHECK-NEXT:        -:   11:
+// CHECK-NEXT:        2:   12:  func2();
+// CHECK-NEXT:        -:   13:
+// CHECK-NEXT:        2:   14:  return 0;
+// CHECK-NEXT:        -:   15:}

Added: compiler-rt/trunk/test/profile/Posix/instrprof-gcov-fork.test
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/profile/Posix/instrprof-gcov-fork.test?rev=338500&view=auto
==============================================================================
--- compiler-rt/trunk/test/profile/Posix/instrprof-gcov-fork.test (added)
+++ compiler-rt/trunk/test/profile/Posix/instrprof-gcov-fork.test Wed Aug  1 02:11:36 2018
@@ -0,0 +1,12 @@
+XFAIL: *
+
+RUN: mkdir -p %t.d
+RUN: cd %t.d
+
+RUN: %clang --coverage -o %t %S/../Inputs/instrprof-gcov-fork.c
+RUN: test -f instrprof-gcov-fork.gcno
+
+RUN: rm -f instrprof-gcov-fork.gcda
+RUN: %run %t
+RUN: llvm-cov gcov -b -c instrprof-gcov-fork.gcda
+RUN: FileCheck --match-full-lines --strict-whitespace --input-file instrprof-gcov-fork.c.gcov %S/../Inputs/instrprof-gcov-fork.c.gcov




More information about the llvm-commits mailing list