Testing Guide¶
Run all tests¶
make test
Run spec harness directly¶
./tests/run_tests.sh
./tests/run_tests.sh tests/spec/pass/your_test.aja
How spec tests are organized¶
tests/spec/pass: programs expected to succeedtests/spec/fail: programs expected to failtests/spec/check/pass: check-only success casestests/spec/check/fail: check-only failure cases
Files used by harness¶
For a pass test:
name.aja(source)name.aja.out(expected stdout)optional
name.aja.stdin(stdin input)
For a fail test:
name.aja(source)name.aja.err(expected stderr substring)optional
name.aja.code(expected exit code)
Example pass test¶
tests/spec/pass/simple_print.aja:
print("ok")
tests/spec/pass/simple_print.aja.out:
ok
Tips¶
Keep tests small and focused.
Prefer one behavior per test.
Add both pass and fail tests for new features.