# fickle Handle fickle (flaky) tests in rust. ## Usage The primary api is to use the [`fickle`] macro attribute like this: ```rust #[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. ```rust #[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 ```rust #[test] fn flaky_test() { let fickle = fickle::Fickle::default(); let block: fn() -> () = || { // your test here }; fickle.run(block).unwrap(); } ```