What it does
dev-flaky runs your test suite many times and tracks each test's
pass/fail history. Stable tests pass every time. Flaky tests fail
sometimes for no apparent reason. Broken tests fail every time.
After the run, every test gets a reliability score in [0.0, 1.0]
and a classification (stable / flaky / broken).
Why flaky tests matter
Flaky tests are corrosive. After enough false alarms, developers start ignoring CI failures, and real failures get missed. Detecting flakiness automatically lets you quarantine the worst offenders before they erode trust in the suite.
Quick start
[]
= "0.9"
use FlakyRun;
let run = new.iterations;
let result = run.execute?;
println!;
let report = result.into_report;
# Ok::
Classification
| Classification | Pass count | Fail count | Verdict |
|---|---|---|---|
| Stable | > 0 | 0 | Pass |
| Flaky | > 0 | > 0 | Warn |
| Broken | 0 | > 0 | Fail |
The per-test reliability percentage is attached as
Evidence::Numeric so you can sort tests by flakiness in downstream
reports.
The dev-* suite
See dev-tools for the
full suite.
Status
v0.9.0 is the foundation release: API shape defined, subprocess
integration lands in 0.9.1. Production use is discouraged until
1.0.
Minimum supported Rust version
1.85 — pinned in Cargo.toml and verified by CI.
License
Apache-2.0. See LICENSE.