Workspace test-coverage measurement¶
Standing tooling that measures line coverage across the workspace, so coverage is a repeatable verification artifact rather than a one-off number.
Motivation. No coverage measurement exists in the repository today — no tool, no script, no CI job. For a project building a safety argument, test coverage is a standing verification artifact: it must be cheap to re-measure and produce comparable numbers run over run, which means the invocation (feature set, exclusions, test-thread discipline) has to be pinned in tooling, not folklore. Scope. A repeatable local entrypoint ( Non-goals. Enforcing a coverage floor (the mechanism is prepared,
the number is a later decision against the baseline); coverage trend
tracking / external services (Codecov — Coverage results stay in-re... (ADR_0135)); doctest
coverage (requires nightly |
The repository shall provide |
The coverage run shall compile and test the workspace with
|
The coverage run shall pass |
The coverage report shall exclude build-script-generated sources
( |
The script shall emit a per-crate terminal summary, an HTML report,
and an lcov trace file, all under |
When |
|
CI shall measure workspace coverage on code-changing pull requests and
pushes to |
The CI coverage job shall upload the lcov trace and the HTML report as workflow artifacts, including when a (future) coverage floor fails the job — the reports that explain a failure must survive it. |
The CI coverage job shall write the per-crate coverage summary to the GitHub job summary, so the numbers are readable without downloading artifacts. |
The coverage entrypoint shall support an optional line-coverage floor
via the |