pub struct CoverageReport {
pub files: BTreeMap<String, FileCoverage>,
}Expand description
A whole coverage report: repo-relative file path → FileCoverage.
Fields§
§files: BTreeMap<String, FileCoverage>Per-file coverage, keyed by repo-relative path.
Implementations§
Source§impl CoverageReport
impl CoverageReport
Sourcepub fn insert(&mut self, file: FileCoverage)
pub fn insert(&mut self, file: FileCoverage)
Inserts or merges a file’s coverage into the report.
If the path already exists, line hit counts are merged (taking the max per line), which keeps the model robust against reports that split one file across multiple records.
Sourcepub fn hits(&self, path: &str, line: u32) -> Option<u64>
pub fn hits(&self, path: &str, line: u32) -> Option<u64>
Hit count for path:line, or None when the line is not instrumented
(or the file is absent from the report).
Sourcepub fn total_lines(&self) -> u64
pub fn total_lines(&self) -> u64
Total executable lines across all files.
Sourcepub fn covered_lines(&self) -> u64
pub fn covered_lines(&self) -> u64
Total covered lines across all files.
Sourcepub fn percent(&self) -> Option<f64>
pub fn percent(&self) -> Option<f64>
Project-wide line coverage percentage, or None when there are no
executable lines.
Sourcepub fn strip_prefix(&mut self, prefix: &Path)
pub fn strip_prefix(&mut self, prefix: &Path)
Normalises every file path to be repo-relative.
Coverage tools usually emit absolute paths (lcov SF:, llvm-cov
filename). Stripping prefix mirrors the CI jq ltrimstr($ws) step so
the paths line up with the repo-relative paths git diffs report. Paths
that do not start with prefix are left unchanged (already relative, or
outside the tree). Leading ./ and / are also trimmed.
Trait Implementations§
Source§impl Clone for CoverageReport
impl Clone for CoverageReport
Source§fn clone(&self) -> CoverageReport
fn clone(&self) -> CoverageReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CoverageReport
impl Debug for CoverageReport
Source§impl Default for CoverageReport
impl Default for CoverageReport
Source§fn default() -> CoverageReport
fn default() -> CoverageReport
impl Eq for CoverageReport
Source§impl PartialEq for CoverageReport
impl PartialEq for CoverageReport
Source§fn eq(&self, other: &CoverageReport) -> bool
fn eq(&self, other: &CoverageReport) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CoverageReport
Auto Trait Implementations§
impl Freeze for CoverageReport
impl RefUnwindSafe for CoverageReport
impl Send for CoverageReport
impl Sync for CoverageReport
impl Unpin for CoverageReport
impl UnsafeUnpin for CoverageReport
impl UnwindSafe for CoverageReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneAny for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more