feat(fuzz) - add test progress
Motivation
Closes #585 Closes #3277 Closes #4452
Solution
- make use of
indicatifcrate - add
--show-progressarg (to give more time for feedback / OS tests, then make it default and add a--stream-resultsflag for legacy output) - long running tasks (fuzz and invariant tests) get their own entry / progress bar in test suite progress. Fuzz tests shows
[current / total]runs; Invariants show[current / total]runs and then the[current shrink / max shrink]runs (if case) - when a test suite is finished it is moved from running tasks to summary section showing the result summary
- when all test suits are completed then detailed results are streamed
TBD: rn the fail fast flag doesn't stop test case execution (rayon par iter continue to run until all tasks are completed), need to find a way to exit early when such
rn the fail fast flag doesn't stop test case execution (rayon par iter continue to run until all tasks are completed), need to find a way to exit early when such
I think we could add a termination check with something like an Arc<AtomicBool> to exit early
@DaniPopes please take a look when you have time, would love to get this merged and take feedback from community. Thank you 🙏
needs rebase + clippy