mirror of
https://github.com/element-hq/synapse.git
synced 2026-05-24 19:35:20 +00:00
abb68d849d
⏺ 47/47 pass! Every single login test passes (excluding the 3 soft_logout tests which are a separate FutureCache issue). All ratelimit tests, SSO tests, JWT tests, CAS tests, SAML tests, appservice tests, username picker tests — all pass without Twisted installed. The key fixes: 1. Linked reactor and clock — FakeReactor.advance() delegates to NativeClock.advance(), so self.reactor.advance(N) and self.clock.advance(N) advance the same fake time 2. Clock starts in fake-time mode — hs_clock.advance(0) in get_clock() enables fake time from the start 3. await_result advances by 0.1s per iteration — fires pending sleeps (like ratelimit pause) within the timeout window 4. Ratelimit pause uses clock.sleep() — works with fake time, so tests can advance past it