[][src]Macro lifeline::assert_times_out

macro_rules! assert_times_out {
    ($e:expr) => { ... };
    ($e:expr, $time:literal) => { ... };
}

Asserts that the expression does not complete within a given number of milliseconds.

This will invoke the panic! macro if the provided future expression completes within the given number of milliseconds. This macro expands to an await and must be invoked inside an async context.

A default timeout of 50ms is used if no duration is passed.

Examples

This example panics
use lifeline::assert_times_out;
use tokio::time::delay_for;

async {
    // Fails because default time is longer than delay.
    assert_times_out!(delay_for(Duration::from_millis(5)));
}
use lifeline::assert_times_out;
use tokio::time::delay_for;

async {
    // Succeeds because timeout is shorter than delay.
    assert_times_out!(delay_for(Duration::from_millis(250)), 10);
}