Skip to content

Test coverage

codecov

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.