Coverage regression checker
Compare coverage from before and after a change and see the total change, the coverage of the changed lines and which files dropped. Each threshold gets a clear pass or fail.
Up to 2,000,000 characters for each coverage report and 1,000,000 characters for the diff. Processing runs locally in a background worker in your browser. Downloads: a JSON report, a CSV of files and a Markdown table. Paste the coverage file produced after your change, for example lcov.info or cobertura.xml. Up to 2,000,000 characters. Review the settings before running.
Your result
How to use Coverage regression checker
- Paste the head coverage report from after the change.
- Paste the base report and, if you have it, the unified diff of the change.
- Set the minimum patch coverage and the largest allowed drop.
- Run the check and review the verdicts and per-file deltas.
- Download the JSON report, CSV or Markdown summary.
Useful next steps
What it compares
Both reports are read into executable lines and hit counts. LCOV, Cobertura, JaCoCo, Istanbul coverage-final and json-summary, and Go coverprofile files are supported and detected automatically. Line coverage is the share of executable lines with at least one hit.
Patch coverage
With a unified diff, the added lines of each file in the new version are checked against the head report. Lines that are not executable, such as comments, are left out. Paths are matched exactly after removing a/ and b/ prefixes and any prefixes you list, then by a unique path suffix.
Thresholds
The total drop check compares head and base line coverage in percentage points. Patch coverage passes when it is at least the minimum. A per-file drop check is available and is off at 100. Istanbul json-summary has no line detail, so it supports totals only.