#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

#69 in Debugging

Download history 10/week @ 2023-12-20 8/week @ 2024-01-17 1/week @ 2024-01-24 19/week @ 2024-02-14 105/week @ 2024-02-21 22/week @ 2024-02-28 13/week @ 2024-03-06 27/week @ 2024-03-13 36/week @ 2024-03-20 29/week @ 2024-03-27 22/week @ 2024-04-03

117 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

~3–13MB
~114K SLoC