# step: carousel schedule · wai-rs and carousel_verify.py # order: 540 # features: carousel # paths: wai/extensions/carousel.md # independent: carousel live needs=cryptography python3 -I live-conformance/carousel_verify.py live-conformance/carousel # independent: carousel-claims live needs=cryptography python3 -I claim-conformance/claim_verify.py carousel live-conformance/carousel/vectors.json # # wai.bearer.carousel (extensions/carousel.md): the reference module's unit tests (each code's # bounds and division into source blocks, K', the passes of advance and repeat, plans, and the # corpus reaching every stated outcome and failing a changed one) and tests/carousel.rs # (vectors.json regenerates byte for byte from its fixed seeds, wai-rs gives every case its # stated outcome, §9 lists exactly the reference's codes, Appendix A is its table of K', # jwp-receipts §3.1 lists the class codes at their steps, K' and Partition[] agree with an # independent RFC 6330 implementation for every block size, and each RaptorQ object a case # holds available decodes with that implementation from what a receiver within the case's # loss bound holds); and, in the step of every independent verifier above, the corpus's second # implementation, carousel_verify.py, written # from the extension's text and sharing no code with wai-rs, which verifies groups and # objects with jwp_verify.py and claims through steps 1-5 with claim_verify.py, writes the # context checks, the availability and the plans itself, reads §9 and Appendix A, requires # every mutated copy of the corpus to fail, and drops each of its own checks in turn; run # isolated (-I). Last, claim-conformance's own verifier reads every claim of the corpus # through jwp-receipts §3.1 steps 1 to 4 and requires the stated outcome. # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/carousel.md: tests/carousel.rs requires §9 to list the reference's codes and # Appendix A to be its table of K', and carousel_verify.py reads both. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib -- carousel:: claim_receipt::schedule::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test carousel)