Test-report rendering

Not a pipeline stage: scripts/rigc/check.sh calls this module after every pytest invocation to render a browsable HTML report from the --junitxml file, including on a failed run. In btr-shields, the repo this documentation set was ported from, this module lives at scripts/junit_html.py — a sibling of rigc/, not a member of the package. In bridle it landed inside scripts/rigc/ itself, so it is a real rigc submodule here and is documented for that reason, not because it belongs to the expander pipeline.

rigc.junit_html

Render a pytest –junitxml file as one self-contained HTML page.

Stdlib only, deliberately — the same no-new-dependency rule as driving coverage.py directly (pyproject.toml [tool.coverage.*]). check.sh calls this after EVERY pytest invocation, including failed ones (the status is captured and re-raised after rendering): a red run is precisely when a browsable report is worth having.

Usage: junit_html.py <junit.xml> <out.html>

Layout: suite summary up top; failures and errors first, each expandable to the full captured message; then every module with its own pass/fail counts and per-test rows. Companion to timing_report.py, which reads the same files for wall-time diffing.