Finally caught with a creation stack trace: when the last gRPC stream closes, Http2ClientConnection arms the channel's 5-minute idleTimeout timer — even on a shut-down connection — so the test's 1-minute drain never covered it and the framework's pending-timer invariant tripped whenever the arm landed inside the test window (frequent while a real hub listens on 50051). The suite now closes the channel in real-async space at the end of the body (new @visibleForTesting HubService.debugResetChannel; shutdown is deliberately not awaited — it wedges on a mid-connect socket, but cancels its timers synchronously) and pumps past the idle timeout so the timer fires inside the test. 6 consecutive full-suite runs + 3 isolated runs green; before, roughly 1 in 3 full runs failed. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com> |
||
|---|---|---|
| .. | ||
| data | ||
| l10n | ||
| pages | ||
| theme | ||
| widgets | ||
| main.dart | ||