nornir-testmatrix
The portable core of nornir's multi-aspect test matrix — wrap a repo's
native Rust test framework and test many aspects of its health (build,
doctest, clippy, fmt, audit, coverage, feature-powerset, msrv, examples),
parse the results into rows, and ship them to any TestSink.
Pure std + serde/serde_json + anyhow. No iceberg, arrow, eframe,
tantivy, or skade — so any leaf repo can pull it cheaply.
use ;
use Path;
let aspects = DEFAULT; // build, unit, doctest, clippy, fmt, audit
let rows = run_full_matrix;
new.append.unwrap;
A missing tool (clippy/audit/llvm-cov/hack/fmt) is recorded as a neutral
skip row — never a hard failure. See .nornir/testmatrix-crate.md.
Functional-status mode (testmatrix feature)
A component can report whether it actually works — even when the result can't
be eyeballed (a map that renders nothing). Behind the testmatrix cargo
feature (off for release → zero cost), call from your self-test path:
functional_status;
Aspect::Functional drains these into test_results rows (ok=false → a RED
matrix row), so a dead render shows up in nornir test / the viz Test pane
without anyone looking at a GUI. With the feature off, functional_status
is an inlined no-op. See .nornir/testmatrix-functional-status.md.