benches/parser.rs (27 lines of code) (raw):
#![feature(test)]
#![allow(clippy::unit_arg)]
extern crate test;
use std::fs::File;
use std::io::BufReader;
use std::path::Path;
use test::{black_box, Bencher};
#[bench]
fn bench_parser_lcov(b: &mut Bencher) {
b.iter(|| {
let file = std::fs::read("./test/prova.info").expect("Failed to open lcov file");
black_box(grcov::parse_lcov(file, true).unwrap());
});
}
#[bench]
fn bench_parser_gcov(b: &mut Bencher) {
let path = Path::new("./test/negative_counts.gcov");
b.iter(|| black_box(grcov::parse_gcov(path)));
}
#[bench]
fn bench_parser_jacoco(b: &mut Bencher) {
let path = Path::new("./test/jacoco/full-junit4-report-multiple-top-level-classes.xml");
b.iter(|| {
let file = BufReader::new(File::open(path).unwrap());
black_box(grcov::parse_jacoco_xml_report(file))
});
}