#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

#81 in Debugging

Download history 9/week @ 2024-01-19 55/week @ 2024-02-16 80/week @ 2024-02-23 15/week @ 2024-03-01 17/week @ 2024-03-08 27/week @ 2024-03-15 35/week @ 2024-03-22 37/week @ 2024-03-29 8/week @ 2024-04-05 6/week @ 2024-04-12 63/week @ 2024-04-19 25/week @ 2024-04-26 46/week @ 2024-05-03

140 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–11MB
~110K SLoC