From 765408e7fced2dbb2d023ef23eeafc4c3ca11ee7 Mon Sep 17 00:00:00 2001 From: n30nex Date: Wed, 30 Sep 2026 16:53:29 -0400 Subject: [PATCH] test: drain readiness probes before packet assertions --- internal/ingest/packet_summary_test.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/internal/ingest/packet_summary_test.go b/internal/ingest/packet_summary_test.go index 887c396..7f17aba 100644 --- a/internal/ingest/packet_summary_test.go +++ b/internal/ingest/packet_summary_test.go @@ -6,6 +6,7 @@ package ingest import ( "context" "crypto/ed25519" + "crypto/rand" "encoding/json" "testing" "time" @@ -24,7 +25,20 @@ func waitForSummarySubscriber(t *testing.T, ctx context.Context, h *hub.Hub, cli h.Broadcast(hub.Event{Type: hub.EventObserverStatus}) select { case <-client.Send: - return + // A slow hub can leave more probes queued. Drain through a final + // marker so the next test read receives its packet, not a probe. + marker := json.RawMessage(`"` + rand.Text() + `"`) + h.Broadcast(hub.Event{Type: hub.EventObserverStatus, Payload: marker}) + for { + select { + case event := <-client.Send: + if string(event.Payload) == string(marker) { + return + } + case <-ctx.Done(): + t.Fatal("hub readiness probes did not drain") + } + } case <-ticker.C: case <-ctx.Done(): t.Fatal("hub subscription did not become ready")