pub struct Report {
pub sections: Sections,
}
Expand description
An accumulated coverage information from some LCOV tracefiles.
Report
is used for merging/filtering the coverage information.
Examples
Merges LCOV tracefiles and outputs the result in LCOV tracefile format:
use lcov::Report;
let mut report = Report::new();
// Merges a first file.
report.merge(Report::from_file("report_a.info")?)?;
// Merges a second file.
report.merge(Report::from_file("report_b.info")?)?;
// Outputs the merge result in LCOV tracefile format.
for record in report.into_records() {
println!("{}", record);
}
Fields
sections: Sections
Coverage information about every source files.
Implementations
sourceimpl Report
impl Report
sourcepub fn from_reader<I, E>(iter: I) -> Result<Self, ParseError> where
I: IntoIterator<Item = Result<Record, E>>,
E: Into<ReadError>,
pub fn from_reader<I, E>(iter: I) -> Result<Self, ParseError> where
I: IntoIterator<Item = Result<Record, E>>,
E: Into<ReadError>,
Creates a report from LCOV record reader.
Examples
use lcov::{Report, Reader};
let input = "\
TN:test_name
SF:/path/to/source/file.rs
DA:1,2
DA:3,0
DA:5,6
LF:3
LH:2
end_of_record
";
let reader = Reader::new(input.as_bytes());
let report = Report::from_reader(reader)?;
sourcepub fn from_file<P>(path: P) -> Result<Self, ParseError> where
P: AsRef<Path>,
pub fn from_file<P>(path: P) -> Result<Self, ParseError> where
P: AsRef<Path>,
Creates a report from LCOV tracefile.
Examples
use lcov::Report;
let report = Report::from_file("report.info")?;
sourcepub fn merge(&mut self, other: Self) -> Result<(), MergeError>
pub fn merge(&mut self, other: Self) -> Result<(), MergeError>
Merges a report into self
.
Examples
use lcov::Report;
let mut report = Report::from_file("report1.info")?;
report.merge(Report::from_file("report2.info")?)?;
sourcepub fn merge_lossy(&mut self, other: Self)
pub fn merge_lossy(&mut self, other: Self)
Merges a report into self
with ignoring an Errors.
Examples
use lcov::Report;
let mut report = Report::from_file("report1.info")?;
report.merge_lossy(Report::from_file("report2.info")?);
sourcepub fn into_records(self) -> IntoRecordsⓘNotable traits for IntoRecordsimpl Iterator for IntoRecords type Item = Record;
pub fn into_records(self) -> IntoRecordsⓘNotable traits for IntoRecordsimpl Iterator for IntoRecords type Item = Record;
Creates an iterator which iterates over [LCOV section].
Examples
use lcov::Report;
let mut report = Report::from_file("report.info")?;
// ... Manipulate report
for record in report.into_records() {
println!("{}", record);
}
Trait Implementations
impl Eq for Report
impl StructuralEq for Report
impl StructuralPartialEq for Report
Auto Trait Implementations
impl RefUnwindSafe for Report
impl Send for Report
impl Sync for Report
impl Unpin for Report
impl UnwindSafe for Report
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more