Validation
at-py uses three layers of validation:
fast unit tests for parser, formatter, MAT, and client wiring behavior;
executable documentation examples for user-facing snippets;
runner-backed integration tests for end-to-end workflows through
at-runner.
Runner-Backed Corpus
The integration corpus intentionally starts small and reproducible. It should grow by adding complete AT cases with checked parser outputs rather than broad fixture dumps.
Current runner-backed cases:
Case |
Runner check |
Parser check |
|---|---|---|
KRAKEN Pekeris |
|
The generated mode file is parsed with |
Adding Cases
When adding a validation case:
keep the input text small enough to review;
check at least one parsed output rather than only process exit status;
prefer stable shape, count, and monotonicity assertions over fragile exact floating-point snapshots;
mark runner-backed tests with
@pytest.mark.integrationso local unit runs remain fast.