An assertion macro that tries to assert expressions multiple times
repeated_assert!
re-tries to assert expressions until either all expressions are true
or the maximum amount of repetitions has been reached.
The current thread will be blocked between tries.
This is useful when waiting for events from another thread (or process). Waiting for a short time might result in a failing test, while waiting too long is a waste of time.
Wait for a file to appear, calculate the checksum and then assert the checksum is to equal to 1234
(re-try up to 10 times, wait 50 ms between tries)
rust
repeated_assert!{ 10, Duration::from_millis(50);
if Path::new("should_appear_soon.txt").exists();
let checksum = crc("should_appear_soon.txt");
eq checksum, 1234;
};