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.
repeated_assert!
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;
};