Testing
Test results
Verification is a fixed shell ladder you run locally. When everything passes, the last line is === All tiers completed OK ===. This page describes what each tier does and how to reproduce it.
Full ladder
After downloading and extracting ilusm, run the verification suite:
export ILUSM_HOME="$(pwd)" ./ilusm tests/smoke_vm.ilu ./ilusm tests/smoke_py.ilu
The test ladder includes:
- Domain correctness - pure domain modules (trl, txt, cache)
- Golden / fixtures - JSON roundtrip and parser fixtures
- Integration - argv/env smoke tests
- Fuzz smoke - randomized input testing
- Stdlib - import + targeted execution for all modules
- Diagnostics - expected-failure error messages
- Parse/eval fuzz - randomized parse and eval testing
- Corpus smoke - public ilusm code trees
Timing each step
For per-file wall times during verification, use ./scripts/run_all_tests_timed.sh from a full checkout.
Cross-language microbenches and a recorded table are on Benchmarks.
Release verification
Release-style checks include the full test ladder, ./build.sh, ./ilusm tests/hello.ilu, example runs, and seed resolution. Every required step should exit 0 on your host.
See Engineering & tests for build details and Benchmarks for performance verification.
Related docs
- Engineering & tests - build and policy in prose
- Benchmarks - multi-language driver and snapshots
- Self-hosting - seeds, bytecode, what ships on downloads