Test coverage¶
The suite is bash, jq and coreutils — no framework. Every test file runs in its own process with
$HOME moved into a temp dir, so a run on your laptop does what a run on a fresh CI runner does.
CONTRIBUTING.md has the commands, including how to reproduce the coverage number
locally.
Coverage is measured with kcov and reported to Codecov. It is informational: it shows which scripts nothing exercises, and never blocks a PR. A threshold on a shell codebase mostly buys tests that execute lines without asserting anything.
Reading the graph¶
The coverage grid gives one cell per file under bin/ and hooks/ — area is the file's
line count, colour is its coverage, red to green. It always renders the default branch; there is no
per-branch or per-PR view — ?branch= on the SVG URL is accepted and ignored. For per-PR deltas,
line-level detail and click-through, use the Codecov dashboard; PRs get a comment only
when coverage actually moves.
Sunburst and icicle renderings of the same data exist. They encode directory nesting, which is nearly flat here, so the grid is usually the one worth looking at.