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