• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /// Test that llvm-cov supports a fake gcov 4.2 format used before clang 11.
2 
3 // RUN: rm -rf %t && mkdir %t && cd %t
4 // RUN: echo -e '\n\n\n\n\n\n\n\n\n' > test.cpp && echo > test.h
5 // RUN: llvm-cov gcov test. --gcno=%S/Inputs/gcov-fake-4.2.gcno --gcda=%S/Inputs/gcov-fake-4.2.gcda | FileCheck %s
6 // RUN: FileCheck %s --check-prefix=C < test.cpp.gcov
7 // RUN: FileCheck %s --check-prefix=H < test.h.gcov
8 
9 // CHECK:       File 'test.cpp'
10 // CHECK-NEXT:  Lines executed:84.21% of 38
11 // CHECK-NEXT:  Creating 'test.cpp.gcov'
12 // CHECK-EMPTY:
13 // CHECK-NEXT:  File './test.h'
14 // CHECK-NEXT:  Lines executed:100.00% of 1
15 // CHECK-NEXT:  Creating 'test.h.gcov'
16 // CHECK-EMPTY:
17 
18 //      C:        -:    0:Source:test.cpp
19 // C-NEXT:        -:    0:Graph:{{.*}}gcov-fake-4.2.gcno
20 // C-NEXT:        -:    0:Data:{{.*}}gcov-fake-4.2.gcda
21 /// `Runs` is stored in GCOV_TAG_OBJECT_SUMMARY with a length of 9.
22 // C-NEXT:        -:    0:Runs:2
23 // C-NEXT:        -:    0:Programs:1
24 // C-NEXT:        -:    1:
25 // C-NEXT:        -:    2:
26 // C-NEXT:        -:    3:
27 // C-NEXT:        -:    4:
28 // C-NEXT:        -:    5:
29 // C-NEXT:        -:    6:
30 // C-NEXT:        -:    7:
31 // C-NEXT:        -:    8:
32 // C-NEXT:        -:    9:
33 // C-NEXT:8589934592:   10:
34 
35 //      H:        -:    0:Source:./test.h
36 // H-NEXT:        -:    0:Graph:{{.*}}gcov-fake-4.2.gcno
37 // H-NEXT:        -:    0:Data:{{.*}}gcov-fake-4.2.gcda
38 // H-NEXT:        -:    0:Runs:2
39 // H-NEXT:        -:    0:Programs:1
40 // H-NEXT:        4:    1:
41