cov 0.0.5

gcov format (*.gcda/*.gcno) parser and analyzer in pure Rust
Documentation
#[macro_use]
extern crate error_chain;
extern crate cov;
extern crate env_logger;
extern crate serde_json;

use cov::{Gcov, Graph, Interner, Result, SerializeWithInterner};

use std::env;
use std::io::stdout;

quick_main!(run);

fn run() -> Result<()> {
    env_logger::init();

    let mut graph = Graph::default();
    let mut interner = Interner::new();
    for filename in env::args_os().skip(1) {
        let gcov = Gcov::open(filename, &mut interner)?;
        graph.merge(gcov)?;
    }
    graph.analyze();

    let coverage = graph.report();
    serde_json::to_writer_pretty(stdout(), &coverage.with_interner(&interner))?;
    Ok(())
}