Testing & Coverage
January 9, 2026 ยท View on GitHub
This document covers how to run the test suite and generate coverage reports.
Setup
Install dev dependencies:
make install
Running Tests
Run all tests with pytest:
make test
Note: Tests that exercise path resolution with temporary directories should create a
minimal pyproject.toml in the temp repo root so repo-root discovery works as expected.
Comprehensive Checks
Run formatting checks, mypy, and pytest:
make ci
Run type checks only:
make mypy
Docs Tree Check
Verify the README generation file tree is up to date:
make docs-tree-check
Update the tree block:
make docs-tree
Regeneration Cycle
Run the full regeneration integration check (root style + selector order changes):
make test-regenerate-cycle
This target runs make test-regenerate first, then exercises config changes using
make test-regenerate-allow-diff, and finally restores the original config and reruns
make test-regenerate.
Note: This integration test requires a clean working tree and will rewrite
acc-config.yaml during the run before restoring it.
Note: If the local date changes during the run (near midnight), regenerated READMEs
may update their date stamps and cause a diff; rerun when the clock is stable.
Coverage
Generate coverage reports (terminal + HTML + XML):
make coverage
Outputs:
htmlcov/for the HTML reportcoverage.xmlfor CI integrations- Terminal summary via
term-missing
Note: scripts/archive/ is excluded from test discovery and coverage.