From 606b705bdd435480be2e7af1fa83724ce344c603 Mon Sep 17 00:00:00 2001 From: jamesread Date: Wed, 11 Mar 2026 00:27:42 +0000 Subject: [PATCH] chore: fix potential panic in tests --- service/internal/api/api_test.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/service/internal/api/api_test.go b/service/internal/api/api_test.go index ca8ecf5..eaca331 100644 --- a/service/internal/api/api_test.go +++ b/service/internal/api/api_test.go @@ -640,11 +640,11 @@ func drainEventStreamUntilFinished(ch <-chan *apiv1.EventStreamResponse, timeout deadline := time.Now().Add(timeout) for time.Now().Before(deadline) { ev, finished := recvEventStreamOne(ch, 50*time.Millisecond) + if finished { + return out + } if ev != nil { out = append(out, ev) - if finished { - return out - } } } return out @@ -652,7 +652,10 @@ func drainEventStreamUntilFinished(ch <-chan *apiv1.EventStreamResponse, timeout func recvEventStreamOne(ch <-chan *apiv1.EventStreamResponse, timeout time.Duration) (*apiv1.EventStreamResponse, bool) { select { - case ev := <-ch: + case ev, ok := <-ch: + if !ok { + return nil, true + } return ev, ev.GetExecutionFinished() != nil case <-time.After(timeout): return nil, true @@ -663,7 +666,10 @@ func drainEventStreamWithTimeout(ch <-chan *apiv1.EventStreamResponse, timeout t var out []*apiv1.EventStreamResponse for { select { - case ev := <-ch: + case ev, ok := <-ch: + if !ok { + return out + } out = append(out, ev) case <-time.After(timeout): return out