Skip to content

Testing

Three lanes, ~2 minutes total:

build-and-core-tests (85s) → strict-compile-fail (30s)
supply-chain-audit (25s, parallel)

175 tests across the main crate and judge-service. Single-threaded to prevent workspace race conditions.

Verifies that skipping or reordering typestate steps produces compiler errors. Uses trybuild.

  • Unsafe boundary audit - fails if verdict/ contains any unsafe blocks
  • Dependency audit (cargo-deny) - CVE checks, license validation, source verification
Terminal window
# All tests (permissive, no root)
cargo test --all -- --nocapture
# Strict mode (requires root)
sudo cargo test --test integration_execution -- --test-threads=1 --include-ignored
# Unsafe audit
bash scripts/unsafe-audit.sh
# Dependency audit
cargo deny check

Three targets in fuzz/ for local use (not in CI):

Terminal window
cargo +nightly fuzz run fuzz_verdict # verdict classifier
cargo +nightly fuzz run fuzz_config_deser # config JSON parsing
cargo +nightly fuzz run fuzz_binding_parse # directory binding parser
TierCountWhenHow
Unit108Every pushcargo test --all
Integration (permissive)19Every pushcargo test --test integration_execution
Integration (strict)7Manual / pre-releasesudo ... --include-ignored
Compile-fail-Every pushcargo test --test trybuild
Fuzz-Before parser changescargo +nightly fuzz run
Supply chain-Every pushcargo deny check + scripts/unsafe-audit.sh