# step: channel lineup · wai-rs and channel_lineup_verify.py # order: 270 # features: channel_lineup # paths: wai/extensions/channel-lineup.md # independent: channel-lineup live needs=cryptography python3 -I live-conformance/channel_lineup_verify.py live-conformance/channels # # wai.video.lineup (extensions/channel-lineup.md): the reference module's unit tests (times, # the document type declaration, the reasons) and tests/channel_lineup.rs (every file of the # committed corpus regenerates byte for byte from its fixed seeds, and no other file is # there; wai-rs gives every import and every verification its outcome; §10 lists exactly # the reference's codes; §9's commands, run as the text writes them through `wai`, yield # the corpus's receipt, lineup, cues and guides, and a refusal is its reason with exit 1); # and, in the step of every independent verifier above, the corpus's second implementation, # channel_lineup_verify.py, written from the # extension's text and sharing no code with wai-rs, which reimports every vector, requires # every outcome and fact, and requires every mutated copy of the corpus to fail and every # check it drops to be caught. # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/channel-lineup.md: tests/channel_lineup.rs requires this extension's §10 to list # the codes the reference adds and runs its §9's commands as the text writes them, # channel_lineup_verify.py reads its §10, and the registry's wire identifiers test reads its # sections. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib channel_lineup::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test channel_lineup) (cd wai-rs && "$RUNNER_TEMP/wai-bins/union/wai_channel_lineup_vectors" verify ../live-conformance/channels)