Change the conditions.
Explore test order, available processors, and the race detector across a balanced configuration matrix.
“It passed on my machine” isn’t a diagnosis.
Vary the configuration. Follow the evidence.
Leave with a command that reproduced it.
An illustrative finding. Explore computed evidence below.
01 / A SHORTER PATH TO “FOUND IT”
Flakescope reruns your Go package under different configurations, then tells you what the failures actually depend on.
Explore test order, available processors, and the race detector across a balanced configuration matrix.
Compare failure rates between configurations. A label comes with the observations that earned it.
Group repeated failures by signature. Get the smallest observed reproducing configuration for each group.
02 / THE EVIDENCE ROOM
A hands-on look at a Flakescope report. Choose a fixture, run the matrix, and inspect every finding.
Browser simulation · synthetic test fixtures
Two independent failure axes. One clear place to investigate.
Have a real run? Import its flakescope --json report to explore the same view. Files stay in your browser.
03 / TRUST THE OBSERVATIONS
A shuffled failure alone doesn’t prove order dependence. Flakescope compares rates, checks sample sizes, and leaves uncertainty visible.
Enough samples on both sides to make a comparison.
The higher arm fails at least twice as often.
The observed difference clears a z-score of two.
undetermined is an honest answer.Failures are grouped by normalized signature. Addresses and durations are normalized; meaningful integers stay intact. Prefer a visible split over silently merging two bugs.
got 1234, want 1000≠got 7, want 1000“Minimal” means the smallest configuration among those that actually failed, measured against the baseline. Each failure cluster gets its own command.
Configuration replay is not goroutine scheduler replay. Nondeterministic failures may not repeat on every attempt.
04 / FROM THE DEMO TO YOUR TERMINAL
Point Flakescope at your Go package. Start with twenty configurations. Increase the sample when the signal is rare.
Read the full documentation ↗go install github.com/AarinB1/flakescope/cmd/flakescope@latestflakescope --runs 60 ./internal/queueflakescope --runs 60 --json ./internal/queue > report.jsonA FEW GOOD QUESTIONS
No. The built-in scenarios are deterministic synthetic fixtures, evaluated in JavaScript. They demonstrate Flakescope’s documented reporting concepts. To inspect your own tests, run the CLI locally and import its JSON report.
No. It varies configurations: test order, GOMAXPROCS, and the race detector. It does not control or replay a particular goroutine interleaving. A reproducing configuration is evidence of a failure under those settings, not a guarantee of repetition.
The test both passed and failed, but no axis cleared the minimum observation count, rate ratio, and statistical threshold. Increase --runs for a rarer failure. The CLI reports the smallest failure rate the run could resolve when it can compute one.
Exit 0 means no flaky tests were found. Exit 1 means flaky tests were found. Exit 2 means Flakescope itself failed, the package did not build, or no configuration completed. Always-failing tests are reported separately and do not change the flakiness exit code.
Among configurations that reproduced the same cluster, Flakescope prefers the fewest changes from the default, then lower GOMAXPROCS, race off, and the lowest shuffle seed. It is a minimum over observed failures, not a search of every possible configuration.
No. The page reads the selected JSON file in your browser. There is no upload service, analytics, external script, or account. Use Export to download the report you are viewing.