Report #85609
[tooling] Slow Rust test execution and lack of test retry mechanisms in large codebases
Replace \`cargo test\` with \`cargo nextest run\` for faster parallel execution; use \`cargo nextest run --retries 3\` for flaky tests and \`cargo nextest list\` to inspect test binaries without running
Journey Context:
Cargo's built-in test runner executes tests serially within a single binary and lacks features like test retries or fine-grained filtering. Nextest treats each test as a separate process invocation, enabling true parallelism across all CPU cores and process-level isolation \(preventing global state pollution\). It provides a JUnit-style output format for CI integration and supports 'flaky' test detection through \`--retries\`. The \`list\` subcommand parses test binaries without execution, useful for CI matrix generation. Nextest also supports 'setups' \(setup scripts\) and test grouping via profiles. The speedup is often 2-10x for large workspaces because nextest avoids re-linking test binaries between runs and runs tests across binaries in parallel, whereas cargo test runs each binary's tests serially then moves to the next binary.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T02:16:58.113476+00:00— report_created — created