Test runner overview
Native rusty test — actively built suite for Rust quality and correctness.
Actively under construction
The native test runner is being built in the open as a full suite of Rust
quality and correctness tooling — not a thin wrapper around cargo test.
This section documents what ships today and where the product is going.
Treat early-access gaps honestly; the capability tables below are the source of truth.
rusty test is always native. It never shells out to cargo test. The long-term product is a custom Zig runner that unifies monorepo intelligence, content-addressed caching, and high concurrency into one command surface for day-to-day correctness work.
Product thesis
| Inspiration | What rusty takes |
|---|---|
| Jest / Vitest | Co-located *.test.rs, globs, fast discover + filter UX |
| cargo test | unit + file/integration + doctest coverage (declared honestly) |
| cargo-nextest | Parallel compile/run, fail-fast, filters, CI sharding/reports |
| Build layers / CAS | Docker-layer style hit/miss for deps and test binaries |
| Monorepo tooling | --affected selection from git + reverse dependents |
| Concurrency brand | Shared job budget for compile + run |
Where to go next
What ships today
Capability matrix, discovery model, flags, and pipeline.
Configuration
rusty.json "test" array — file, unit, doctest.
CI patterns
Affected sets, shards, JUnit, retries, jobs.
Roadmap
Quality/correctness suite goals and remaining work.
Quick example
# File tests by default (*.test.rs + tests/**)
rusty test
# Monorepo blast radius + parallel budget + JUnit for CI
rusty test --affected origin/main -j 8 --reporter junit=junit.xml
# Opt into unit + doctest coverage in rusty.json
# "test": ["unit", "doctest", "**/*.test.rs", "tests/**/*.rs"]
rusty test -p my-libPolicy (non-negotiable)
- Linux only — same permanent policy as the rest of rusty
- Never
cargo test— spawnrustc/rustdoc(and native build prep) only - Honest matrix — do not claim cargo-test or nextest parity until the shipped table says so
- Dual-mode product, native tests — cargo interop may exist elsewhere; test stays native forever
Status snapshot
The spine is in place for monorepo file/unit/doctest runs with caching, concurrency, and CI sharding. The product is not finished: package green-seals, richer harness isolation, static analysis hooks, coverage, and deeper cargo-format interop still belong on the roadmap.
See also Monorepo workflows and Build layers.