#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

#142 in Debugging

Download history 178/week @ 2024-07-27 21/week @ 2024-08-03 8/week @ 2024-08-10 7/week @ 2024-08-17 8/week @ 2024-08-24 15/week @ 2024-08-31 28/week @ 2024-09-07 35/week @ 2024-09-14 45/week @ 2024-09-21 4/week @ 2024-09-28 21/week @ 2024-10-05 19/week @ 2024-10-12 27/week @ 2024-10-19 6/week @ 2024-10-26 22/week @ 2024-11-02 11/week @ 2024-11-09

69 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
~127K SLoC