47 lines · cpp
1// RUN: llvm-cov report %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -path-equivalence=/tmp,%S 2>&1 -show-region-summary -show-instantiation-summary | FileCheck %s2// RUN: llvm-cov report -show-functions %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -path-equivalence=/tmp,%S %s 2>&1 | FileCheck -check-prefix=FILT %s3// RUN: llvm-cov report -show-functions %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -path-equivalence=/tmp,%S %s does-not-exist.cpp 2>&1 | FileCheck -check-prefix=FILT %s4// RUN: not llvm-cov report -show-functions %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -path-equivalence=/tmp,%S 2>&1 | FileCheck -check-prefix=NO_FILES %s5 6// NO_FILES: source files must be specified when -show-functions=true is specified7 8// CHECK: Regions Missed Regions Cover Functions Missed Functions Executed Instantiations Missed Insts. Executed Lines Missed Lines Cover9// CHECK-NEXT: ---10// CHECK-NEXT: report.cpp 6 2 66.67% 4 1 75.00% 4 1 75.00% 13 3 76.92%11// CHECK-NEXT: ---12// CHECK-NEXT: TOTAL 6 2 66.67% 4 1 75.00% 4 1 75.00% 13 3 76.92%13 14// FILT: File '{{.*}}report.cpp':15// FILT-NEXT: Name Regions Miss Cover Lines Miss Cover16// FILT-NEXT: ---17// FILT-NEXT: _Z3foob 3 1 66.67% 4 1 75.00%18// FILT-NEXT: _Z3barv 1 0 100.00% 2 0 100.00%19// FILT-NEXT: _Z4funcv 1 1 0.00% 2 2 0.00%20// FILT-NEXT: main 1 0 100.00% 5 0 100.00%21// FILT-NEXT: ---22// FILT-NEXT: TOTAL 6 2 66.67% 13 3 76.92%23 24void foo(bool cond) {25 if (cond) {26 }27}28 29void bar() {30}31 32void func() {33}34 35int main() {36 foo(false);37 bar();38 return 0;39}40 41// Test that listing multiple functions in a function view works.42// RUN: llvm-cov show -o %t.dir %S/Inputs/report.covmapping -instr-profile=%S/Inputs/report.profdata -path-equivalence=/tmp,%S -name-regex=".*" %s43// RUN: FileCheck -check-prefix=FUNCTIONS -input-file %t.dir/coverage/tmp/report.cpp.txt %s44// FUNCTIONS: _Z3foob45// FUNCTIONS: _Z3barv46// FUNCTIONS: _Z4func47