Unit / integration
cd extractor && cargo test # Rust suite (unit + integration + catalog audit)
cd dashboard && bun test # Bun backend + frontend unit suite
cd dashboard && bunx tsc --noEmit # strict TypeScript
cd dashboard && bunx playwright test # browser E2E (gated by HBS_E2E=1)Real-world matrices
# Linux: static musl extractor inside real distros, root + non-root, --network none
bash scripts/docker-test/run.sh
bun run scripts/docker-test/validate-reports.ts # decrypt + assert every sealed report
# Linux end-to-end: issue a musl extractor, run it in debian:12, push to dashboard
cd dashboard && bun run ../scripts/e2e-linux.ts
# Windows: Server Core LTSC 2019/2022/2025 via the Docker WINDOWS engine
cd dashboard && bun run ../scripts/docker-e2e-hosts-windows.tsHarness reference
| Script | Purpose |
|---|---|
scripts/build-all.sh | Cross-compile the target matrix (+ size gate) |
scripts/docker-test/run.sh | 13-distro Linux sweep, root/non-root, --network none |
scripts/docker-test/validate-reports.ts | Decrypt every report; assert content + logs |
scripts/docker-e2e-hosts.ts | Dashboard-hosted Linux sweep (download → run → push/upload) |
scripts/docker-e2e-hosts-windows.ts | Same for Windows Server Core containers |
scripts/e2e-linux.ts | Issue → run in debian:12 → push → assert routing/exports |
scripts/e2e-loop.ts | Windows issued-extractor loop (incl. confidentiality assertions) |
scripts/windows-validate.ts | Native Windows scan matrix (full/filtered/category/list) |
scripts/check-spa.ts | SPA serving smoke (root, deep link, assets, API) |