rustydocs

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

InspirationWhat rusty takes
Jest / VitestCo-located *.test.rs, globs, fast discover + filter UX
cargo testunit + file/integration + doctest coverage (declared honestly)
cargo-nextestParallel compile/run, fail-fast, filters, CI sharding/reports
Build layers / CASDocker-layer style hit/miss for deps and test binaries
Monorepo tooling--affected selection from git + reverse dependents
Concurrency brandShared job budget for compile + run

Where to go next

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-lib

Policy (non-negotiable)

  • Linux only — same permanent policy as the rest of rusty
  • Never cargo test — spawn rustc / 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.

On this page