llvm-cov-json

Crates.iollvm-cov-json
lib.rsllvm-cov-json
version0.1.2
sourcesrc
created_at2024-02-06 09:22:52.928272
updated_at2024-07-08 12:24:50.551429
descriptionA library capable of parsing llvm-cov JSON exports.
homepage
repositoryhttps://github.com/nbars/llvm-cov-json-rs
max_upload_size
id1128598
size31,775,728
Nils Bars (nbars)

documentation

README

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);
Commit count: 15

cargo fmt