0; freeze-in-place mode (the eventual CI
default) is on the roadmap.
The pattern
Set the pack’s named durations to0 in your test setup. The timer queue then drains in order on
the triggering call — no waiting on wall-clock:
What you get today vs. with freeze mode
Deterministic now (durations→0)
Event ordering, “did the cascade fire?”, and relative timing assertions are fully
deterministic. This covers the large majority of integration tests.
Needs freeze mode (roadmap)
Assertions on exact absolute timestamps (
created_at == "2025-01-01T00:00:05Z") want
freeze-in-place plus a pinned t0, since absolute stamps still track wall-clock until then.Why not just sleep?
Asleep(5000) is slow and flaky — it assumes delivery happens within a window. Collapsing
durations removes the window entirely: the work is done by the time advance() returns. Faster suites,
zero timing assumptions.