Skip to main content

Crate dev_coverage

Crate dev_coverage 

Source
Expand description

§dev-coverage

Test coverage measurement and regression detection for Rust. Part of the dev-* verification suite.

Wraps cargo-llvm-cov — the modern Rust coverage standard — and emits results as a dev_report::Report. Compares against a stored baseline to flag regressions so AI agents and CI gates can decide whether a PR drops coverage too far.

§Quick example

use dev_coverage::{CoverageRun, CoverageThreshold};

let run = CoverageRun::new("my-crate", "0.1.0");
let result = run.execute().unwrap();

let threshold = CoverageThreshold::min_line_pct(80.0);
let check = result.into_check_result(threshold);

§What dev-coverage provides

  • CoverageRun — builder around cargo llvm-cov.
  • CoverageResult — line / function / region percentages plus per-file breakdown.
  • CoverageThreshold — fail when coverage drops below an absolute floor.
  • Baseline + BaselineStore — persist per-commit coverage so the next run can flag regressions.
  • CoverageProducerdev_report::Producer integration for pipelines that compose multiple producers via dev-tools.

§Requirements

cargo-llvm-cov must be installed on the system:

cargo install cargo-llvm-cov

The crate detects its absence and emits CoverageError::ToolNotInstalled without panicking.

Re-exports§

pub use baseline::Baseline;
pub use baseline::BaselineStore;
pub use baseline::JsonFileBaselineStore;

Modules§

baseline
Persisted coverage baselines.

Structs§

CoverageDiff
Signed deltas between a current CoverageResult and a stored Baseline.
CoverageProducer
Producer adapter that runs a CoverageRun, compares the result against the configured CoverageThreshold, and (optionally) flags regressions against a stored Baseline.
CoverageResult
Result of a coverage run.
CoverageRun
Configuration for a coverage run.
FileCoverage
Coverage measurements for a single source file.

Enums§

CoverageError
Errors that can arise during a coverage run.
CoverageThreshold
Threshold defining the minimum acceptable coverage.