fickle 0.2.1

Tools for handling fickle (flaky) tests in rust.
Documentation

fickle

Handle fickle (flaky) tests in rust.

Usage

The primary api is to use the fickle macro attribute like this:

#[test]
#[fickle]
fn flaky_test() {
    // your test here
}

By default, it will re-run your test 1 time (if the first time fails). If you want to allow more than 1 retry you can specify that with the retries argument.

#[test]
#[fickle(retries=3)]
fn flakier_test() {
    // your test here
}

There is also the option of using the Fickle struct (which is what the macro expands to under the hood). This would look something like this

#[test]
fn flaky_test() {
    let fickle = fickle::Fickle::new(3); // or Fickle::default()
    let block: fn() -> () = || {
        // your test here
    };
    fickle.run(block).unwrap();
}