Docs/Toolchain

Toolchain

Testing

GitHub

Run, filter, race-check, and report @test functions with aura test.

Aura’s MVP test runner is the test CLI verb (RFC-011).

Run tests

Single file:

bash
aura test corpus/test/smoke.aura
# monorepo: cargo run -p aura-cli -- test corpus/test/smoke.aura

Whole package:

bash
aura test corpus/multi
aura test examples/notes

@test functions

Mark test entrypoints with @test. Use assert / assert_eq (and std.assert where applicable) for checks on Int, String, and Bool in the current MVP.

aura
@test
fun adds() {
  assert_eq(1 + 1, 2)
}

See corpus/test/ and package-level tests under corpus/ / examples/notes for patterns that compile today.

Filtering and reports

Select tests by substring with --test-name (or its alias --filter):

bash
aura test corpus/test/filter.aura --test-name alpha
aura test corpus/test/filter.aura --filter alpha --format json

The JSON report contains package timing, pass/fail/skipped counts, per-test status, and structured failure diagnostics. Tests that are not selected are reported as skipped.

Race detector

aura race runs the same test-shaped workflow with runtime race tracking enabled. It accepts the same package, filter, JSON, and -- process-argument options:

bash
aura race corpus/test/filter.aura --format json

Design intent

RFC-011 describes the broader framework contract. The working path today is: compile the package or file, discover @test functions, optionally filter them, run them via the runtime, and report human or JSON results. Parallel workers, JUnit/LCOV output, fixtures, and async test scheduling remain deferred.

Next

All docs pages