pub fn tick_until<T, E>(
pic: &PocketIc,
max_rounds: u32,
advance: Duration,
poll: impl FnMut(&PocketIc) -> Poll<Result<T, E>>,
) -> Result<T, TickUntilError<E>>Expand description
Check a caller-owned predicate, advancing simulated time and ticking while pending.
The predicate runs once before any mutation. Each pending result permits one
round of advance_time(advance), then tick(), then another predicate check,
up to max_rounds. A zero budget still performs the initial check. A zero
duration permits ticks without advancing time. Completion on the last allowed
round succeeds; predicate failures return immediately without another round.
This bounds simulated progression, not wall-clock time spent inside PocketIC calls or the predicate. PocketIC operation failures retain upstream panic behavior. Applications own readiness meaning and predicate error types.