[gcov] Add test which uses fork

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

llvm-svn: 338500
This commit is contained in:
Marco Castelluccio 2018-08-01 09:11:36 +00:00
parent 64c10ba8e2
commit 85ae51ed22
3 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,15 @@
#include <unistd.h>
void func1() {}
void func2() {}
int main(void)
{
func1();
fork();
func2();
return 0;
}

View File

@ -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:}

View File

@ -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