1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/tools/llvm-cov/showLineExecutionCounts-lcov.test
Max Moroz 60087383d9 [llvm-cov] Add lcov tracefile export format.
Summary:
lcov tracefiles are used by various coverage reporting tools and build
systems (e.g., Bazel). It is a simple text-based format to parse and
more convenient to use than the JSON export format, which needs
additional processing to map regions/segments back to line numbers.

It's a little unfortunate that "text" format is now overloaded to refer
specifically to JSON for export, but I wanted to avoid making any
breaking changes to the UI of the llvm-cov tool at this time.

Patch by Tony Allevato (@allevato).

Reviewers: Dor1s, vsk

Reviewed By: Dor1s, vsk

Subscribers: mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D54266

llvm-svn: 346506
2018-11-09 16:10:44 +00:00

39 lines
2.0 KiB
Plaintext

// FULL: SF:{{.*}}showLineExecutionCounts.cpp
// FULL: FN:6,main
// FULL: FNDA:161,main
// FULL: FNF:1
// FULL: FNH:1
int main() { // FULL: DA:[[@LINE]],161
int x = 0; // FULL: DA:[[@LINE]],161
// FULL: DA:[[@LINE]],161
if (x) { // FULL: DA:[[@LINE]],161
x = 0; // FULL: DA:[[@LINE]],0
} else { // FULL: DA:[[@LINE]],161
x = 1; // FULL: DA:[[@LINE]],161
} // FULL: DA:[[@LINE]],161
// FULL: DA:[[@LINE]],161
for (int i = 0; i < 100; ++i) { // FULL: DA:[[@LINE]],16261
x = 1; // FULL: DA:[[@LINE]],16100
} // FULL: DA:[[@LINE]],16100
// FULL: DA:[[@LINE]],161
x = x < 10 ? x + 1 : x - 1; // FULL: DA:[[@LINE]],161
x = x > 10 ? // FULL: DA:[[@LINE]],161
x - 1: // FULL: DA:[[@LINE]],0
x + 1; // FULL: DA:[[@LINE]],161
// FULL: DA:[[@LINE]],161
return 0; // FULL: DA:[[@LINE]],161
} // FULL: DA:[[@LINE]],161
// FULL: LF:20
// FULL: LH:18
// FULL: end_of_record
// RUN: llvm-profdata merge %S/Inputs/lineExecutionCounts.proftext -o %t.profdata
// RUN: llvm-cov export -format=lcov %S/Inputs/lineExecutionCounts.covmapping -instr-profile %t.profdata %s | FileCheck -check-prefixes=FULL %s
// RUN: llvm-cov export -format=lcov -summary-only %S/Inputs/lineExecutionCounts.covmapping -instr-profile %t.profdata %s | FileCheck -check-prefixes=SUMMARYONLY %s
// SUMMARYONLY: SF:{{.*}}showLineExecutionCounts.cpp
// SUMMARYONLY: FNF:1
// SUMMARYONLY: FNH:1
// SUMMARYONLY: LF:20
// SUMMARYONLY: LH:18
// SUMMARYONLY: end_of_record