#parallel-testing #flaky #stress-test

app detect_flake

Run many instances of the same command in parallel to find abnormal behavior or check if a test is flaky

18 releases

0.6.0 Jan 23, 2024
0.5.5 Nov 25, 2023
0.5.2 May 18, 2023
0.5.0 Feb 17, 2023
0.1.1 Nov 22, 2021

#159 in Debugging

50 downloads per month

MIT/Apache

20KB
179 lines

detect_flake

Run many instances of the same command in parallel to find abnormal behavior or check if a test is flaky.

Installation

See the GitHub Releases for installation scripts and pre-built binaries.

You can also use one of the following package managers.

Install using cargo

cargo install detect_flake

Install using npm

npm install detect_flake

Install using Homebrew

brew install aqrln/homebrew-tap/detect_flake

Install using Nix

nix profile install github:aqrln/detect_flake

(or run it right away without installing with nix run github:aqrln/detect_flake -- <ARGUMENTS>)

Usage

detect_flake [FLAGS] [OPTIONS] --command <command>

Flags:

  • -h, --help — Prints help information
  • -V, --version — Prints version information
  • -i, --inherit-stdio — Inherit stdio instead of redirecting to /dev/null
  • -p, --print-failing-output — Print the stdout and stderr of unsuccessful runs only
  • -e, --exit-early-on-error — Exit early the first time the command returns a non-zero error code

Options:

  • -c, --command <command> — Command to run
  • -r, --runs-per-thread <runs-per-thread> — Number of serial runs per each thread [default: 100]
  • -t, --threads <threads> — Number of parallel threads [default: 10]

Dependencies

~4–12MB
~126K SLoC