#json-parser #llvm #code-coverage #export #report #coverage-report

llvm-cov-json

A library capable of parsing llvm-cov JSON exports

3 releases

0.1.2 Jul 8, 2024
0.1.1 Feb 6, 2024
0.1.0 Feb 6, 2024

#283 in Testing

31 downloads per month

AGPL-3.0-only

3MB
212 lines

llvm-cov-json-rs

This library can parse llvm-cov reports exported as JSON. Such JSON exports are typically created by using the following command:

# Dump JSON export to stdout.
llvm-cov export --format=text --instr-profile <profile-data>

For more details on LLVM's source code-based coverage, see here.

For Rust projects, they can be created using cargo-llvm-cov using the following command:

cargo llvm-cov test
# Dump JSON export to stdout.
cargo llvm-cov report --json

Example

use std::fs;
use llvm_cov_json::{CoverageReport};

let json_data = fs::read_to_string("coverage-report.json").unwrap()
let report: CoverageReport = serde_json::from_str(&json_data).unwrap();

/// Get the total count of branches from the summary.
let summary_branch_count = report.data[0].summary.branches.count;
println!("summary_branch_count: {}", summary_branch_count);

Dependencies