Skip to content

Commit

Permalink
change how regions are calculated
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewgazelka committed Apr 14, 2023
1 parent fb136ff commit 876abc0
Show file tree
Hide file tree
Showing 23 changed files with 75 additions and 59 deletions.
90 changes: 53 additions & 37 deletions src/json.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use std::{
collections::BTreeMap,
collections::{BTreeMap, HashMap},
fmt::{Debug, Formatter},
};

Expand Down Expand Up @@ -66,10 +66,10 @@ impl CodeCovJsonExport {
fn from_export(value: Export, ignore_filename_regex: Option<&Regex>) -> Self {
let functions = value.functions.unwrap_or_default();

let mut coverage = BTreeMap::new();
let mut regions = BTreeMap::new();

for func in functions {
let func_count = func.count; // instances of function
// let func_count = func.count; // instances of function

for filename in func.filenames {
if let Some(re) = ignore_filename_regex {
Expand All @@ -78,26 +78,29 @@ impl CodeCovJsonExport {
}
}
for region in &func.regions {
let line_start = region.line_start();
let line_end = region.line_end();

let coverage: &mut CodeCovExport =
coverage.entry(filename.clone()).or_default();

for line in line_start..=line_end {
let coverage = coverage.0.entry(line).or_default();
coverage.count += func_count;

// TODO: not sure this is 100% accurate, but it will be most of the time.
// for instance, if there are 5 versions of a functions and a line is
// hit 5 times does not mean all 5 versions of that function have been
// called. For instance, one of the functions might have been called
// multiple times while others might have been called none.
// Regardless, we for sure do not want to increase _over_ the
// `func_count` as not more than the number of functions could have been
// covered
coverage.covered += region.execution_count().min(func_count);
}
let loc = RegionLocation::from(region);

// region location to covered
let coverage: &mut HashMap<RegionLocation, bool> =
regions.entry(filename.clone()).or_default();

let covered = coverage.entry(loc).or_default();

*covered = *covered || region.execution_count() > 0; // TODO: maybe this should be compared to func_count?
}
}
}

let mut coverage = BTreeMap::new();

for (filename, regions) in regions {
let coverage: &mut CodeCovExport = coverage.entry(filename).or_default();

for (loc, covered) in regions {
for line in loc.lines() {
let coverage = coverage.0.entry(line).or_default();
coverage.count += 1;
coverage.covered += u64::from(covered);
}
}
}
Expand All @@ -116,7 +119,7 @@ impl CodeCovJsonExport {

let mut combined = CodeCovJsonExport::default();

// first pass: combine
// combine
for export in exports {
for (filename, coverage) in export.coverage {
let combined = combined.coverage.entry(filename).or_default();
Expand All @@ -131,19 +134,6 @@ impl CodeCovJsonExport {
}
}

// second pass: replace all 0/0 with 0/1. We will get 0/0 if the function was not included
// in any of the test binaries
// (for instance, if the function was never called and was optimized out).
// We want to make sure that we do not get a 100% coverage if codecov chooses to ignore the
// 0/0.
for (_, coverage) in &mut combined.coverage {
for (_, coverage) in &mut coverage.0 {
if coverage.count == 0 {
coverage.count = 1;
}
}
}

combined
}
}
Expand Down Expand Up @@ -445,6 +435,32 @@ impl Region {
}
}

/// The location of a region
#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq)]
pub(crate) struct RegionLocation {
start_line: u64,
end_line: u64,
start_column: u64,
end_column: u64,
}

impl From<&Region> for RegionLocation {
fn from(region: &Region) -> Self {
Self {
start_line: region.line_start(),
end_line: region.line_end(),
start_column: region.column_start(),
end_column: region.column_end(),
}
}
}

impl RegionLocation {
fn lines(&self) -> impl Iterator<Item = u64> {
self.start_line..=self.end_line
}
}

impl Debug for Region {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
f.debug_struct("Region")
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"src/main.rs":{"1":"3/3","2":"2/2","3":"1/2","4":"1/2","5":"0/2","6":"0/2","8":"2/2"}}}
{"coverage":{"src/main.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"1/1","5":"0/1","6":"0/1","8":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"src/lib.rs":{"1":"1/1","5":"2/2","6":"2/2","7":"1/2","8":"0/2","9":"1/2","10":"0/2","11":"0/2","13":"2/2","15":"1/1"}}}
{"coverage":{"src/lib.rs":{"1":"1/1","5":"1/1","6":"1/1","7":"1/1","8":"0/1","9":"1/1","10":"0/1","11":"0/1","13":"1/1","15":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"src/lib.rs":{"1":"1/1","3":"2/2","4":"2/2","5":"1/2","7":"1/2","9":"2/2","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1"}}}
{"coverage":{"src/lib.rs":{"1":"1/1","3":"1/1","4":"1/1","5":"1/1","7":"1/1","9":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1"}}}
2 changes: 1 addition & 1 deletion tests/fixtures/coverage-reports/merge/merge.codecov.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"src/lib.rs":{"1":"4/4","2":"2/2","3":"1/2","5":"1/2","7":"2/2","9":"2/2","10":"2/2","11":"2/2","12":"2/2","13":"1/1","14":"1/1","15":"2/2"}}}
{"coverage":{"src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","5":"1/1","7":"1/1","9":"1/1","10":"2/2","11":"2/2","12":"2/2","13":"1/1","14":"1/1","15":"1/1"}}}
2 changes: 1 addition & 1 deletion tests/fixtures/coverage-reports/real1/all.codecov.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/member2/src/lib.rs":{"1":"3/3","2":"2/2","3":"2/2","4":"0/2","5":"0/2","6":"0/2","8":"2/2"},"member1/src/lib.rs":{"1":"3/3","2":"2/2","3":"2/2","4":"0/2","5":"0/2","6":"0/2","8":"2/2"},"src/lib.rs":{"1":"1/1","4":"4/4","5":"4/4","6":"0/4","7":"2/4","8":"0/4","9":"2/4","11":"4/4","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1","18":"1/1","19":"1/1"}}}
{"coverage":{"member1/member2/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member1/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"src/lib.rs":{"1":"1/1","4":"1/1","5":"1/1","6":"0/1","7":"1/1","8":"0/1","9":"1/1","11":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1","18":"1/1","19":"1/1"}}}
2 changes: 1 addition & 1 deletion tests/fixtures/coverage-reports/real1/exclude.codecov.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/member2/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"},"member1/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
{"coverage":{"member1/member2/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"},"member1/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/member2/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
{"coverage":{"member1/member2/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/member2/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
{"coverage":{"member1/member2/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/member2/src/lib.rs":{"1":"2/2","2":"2/2","3":"2/2","4":"0/2","5":"0/2","6":"0/2","8":"2/2"},"member1/src/lib.rs":{"1":"2/2","2":"2/2","3":"2/2","4":"0/2","5":"0/2","6":"0/2","8":"2/2"},"src/lib.rs":{"1":"1/1","4":"4/4","5":"4/4","6":"0/4","7":"2/4","8":"0/4","9":"2/4","11":"4/4","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1","18":"1/1","19":"1/1"}}}
{"coverage":{"member1/member2/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member1/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"src/lib.rs":{"1":"1/1","4":"1/1","5":"1/1","6":"0/1","7":"1/1","8":"0/1","9":"1/1","11":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1","18":"1/1","19":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"2/2","11":"2/2","12":"1/2","13":"0/2","14":"1/2","15":"0/2","17":"2/2","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
{"coverage":{"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"0/1","14":"1/1","15":"0/1","17":"1/1","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/src/lib.rs":{"1":"3/3","2":"2/2","3":"0/2","4":"1/2","5":"0/2","6":"1/2","8":"2/2","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
{"coverage":{"member1/src/lib.rs":{"1":"2/2","2":"1/1","3":"0/1","4":"1/1","5":"0/1","6":"1/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member2/member3/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"},"member2/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1","10":"2/2","11":"2/2","12":"1/2","13":"0/2","14":"1/2","15":"0/2","17":"2/2","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
{"coverage":{"member2/member3/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"},"member2/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1","10":"1/1","11":"1/1","12":"1/1","13":"0/1","14":"1/1","15":"0/1","17":"1/1","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/src/lib.rs":{"1":"3/3","2":"2/2","3":"0/2","4":"1/2","5":"0/2","6":"1/2","8":"2/2","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"0/1","11":"0/1","12":"0/1","13":"0/1","14":"0/1","15":"0/1","17":"0/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
{"coverage":{"member1/src/lib.rs":{"1":"2/2","2":"1/1","3":"0/1","4":"1/1","5":"0/1","6":"1/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"0/1","11":"0/1","12":"0/1","13":"0/1","14":"0/1","15":"0/1","17":"0/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member2/member3/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"},"member2/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1","10":"2/2","11":"2/2","12":"1/2","13":"0/2","14":"1/2","15":"0/2","17":"2/2","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
{"coverage":{"member2/member3/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"},"member2/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1","10":"1/1","11":"1/1","12":"1/1","13":"0/1","14":"1/1","15":"0/1","17":"1/1","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/src/lib.rs":{"1":"3/3","2":"2/2","3":"0/2","4":"1/2","5":"0/2","6":"1/2","8":"2/2","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
{"coverage":{"member1/src/lib.rs":{"1":"2/2","2":"1/1","3":"0/1","4":"1/1","5":"0/1","6":"1/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/src/lib.rs":{"1":"3/3","2":"2/2","3":"0/2","4":"1/2","5":"0/2","6":"1/2","8":"2/2","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"0/1","11":"0/1","12":"0/1","13":"0/1","14":"0/1","15":"0/1","17":"0/1"},"member2/src/member4/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
{"coverage":{"member1/src/lib.rs":{"1":"2/2","2":"1/1","3":"0/1","4":"1/1","5":"0/1","6":"1/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"0/1","11":"0/1","12":"0/1","13":"0/1","14":"0/1","15":"0/1","17":"0/1"},"member2/src/member4/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/src/lib.rs":{"1":"3/3","2":"2/2","3":"0/2","4":"1/2","5":"0/2","6":"1/2","8":"2/2","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"2/2","11":"2/2","12":"1/2","13":"0/2","14":"1/2","15":"0/2","17":"2/2","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
{"coverage":{"member1/src/lib.rs":{"1":"2/2","2":"1/1","3":"0/1","4":"1/1","5":"0/1","6":"1/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"0/1","14":"1/1","15":"0/1","17":"1/1","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"1/1","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member2/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1","10":"2/2","11":"2/2","12":"1/2","13":"0/2","14":"1/2","15":"0/2","17":"2/2","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"}}}
{"coverage":{"member2/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1","10":"1/1","11":"1/1","12":"1/1","13":"0/1","14":"1/1","15":"0/1","17":"1/1","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member2/member3/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
{"coverage":{"member2/member3/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member2/src/member4/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
{"coverage":{"member2/src/member4/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member2/member3/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"},"member2/src/member4/src/lib.rs":{"1":"1/1","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
{"coverage":{"member2/member3/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"},"member2/src/member4/src/lib.rs":{"1":"1/2","2":"0/1","3":"0/1","4":"0/1","5":"0/1","6":"0/1","8":"0/1"}}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"coverage":{"member1/src/lib.rs":{"1":"3/3","2":"2/2","3":"0/2","4":"1/2","5":"0/2","6":"1/2","8":"2/2","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"2/2","11":"2/2","12":"1/2","13":"0/2","14":"1/2","15":"0/2","17":"2/2","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}
{"coverage":{"member1/src/lib.rs":{"1":"2/2","2":"1/1","3":"0/1","4":"1/1","5":"0/1","6":"1/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"1/1","14":"1/1","15":"1/1","16":"1/1","17":"1/1"},"member2/member3/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"},"member2/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1","10":"1/1","11":"1/1","12":"1/1","13":"0/1","14":"1/1","15":"0/1","17":"1/1","19":"1/1","20":"1/1","21":"1/1","22":"1/1","23":"1/1"},"member2/src/member4/src/lib.rs":{"1":"2/2","2":"1/1","3":"1/1","4":"0/1","5":"0/1","6":"0/1","8":"1/1"}}}

0 comments on commit 876abc0

Please sign in to comment.