# step: media identification · wai-rs and identify_verify.py # order: 740 # features: identify # alone: - # paths: wai/extensions/media-identify.md # independent: identify delivery python3 -I identify-conformance/identify_verify.py identify-conformance # # Media identification (extensions/media-identify.md): wai-rs's unit tests (hostile bytes # through every walk, what a file reads as its bytes) and tests/identify.rs (the corpus # regenerates byte for byte with every result; the extension's tables; `wai identify`); and, # in the step of every independent verifier above, # identify_verify.py, written from the text and sharing no code with wai-rs but # format_probe_verify.py's probes, which gives every file its whole result, holds ext/ to # what an independent prober read of it, and requires every mutated copy to fail. # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/media-identify.md: tests/identify.rs requires media-identify §6 and §7 to list # the reference's signatures, and identify_verify.py reads those tables and the capabilities of # its §5.1. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib identify::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test identify) (cd wai-rs && "$RUNNER_TEMP/wai-bins/union/wai_identify_vectors" verify ../identify-conformance)