From 63a319bce7a8c3c82044ed4b7d2a2ea70c25d8c5 Mon Sep 17 00:00:00 2001 From: Till Faelligen <2353100+S7evinK@users.noreply.github.com> Date: Thu, 15 Sep 2022 07:06:37 +0200 Subject: [PATCH] Don't loop forever; close channel --- cmd/dendrite-upgrade-tests/tests.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cmd/dendrite-upgrade-tests/tests.go b/cmd/dendrite-upgrade-tests/tests.go index 34942a124..5c9589df2 100644 --- a/cmd/dendrite-upgrade-tests/tests.go +++ b/cmd/dendrite-upgrade-tests/tests.go @@ -129,7 +129,12 @@ func runTests(baseURL, branchName string) error { go func() { syncClient := users[0].client since := "" - for { + for len(wantEventIDs) > 0 { + select { + case <-doneCh: + return + default: + } syncResp, err := syncClient.SyncRequest(1000, since, "1", false, "") if err != nil { continue @@ -140,17 +145,16 @@ func runTests(baseURL, branchName string) error { continue } delete(wantEventIDs, ev.ID) - if len(wantEventIDs) == 0 { - close(doneCh) - } } } since = syncResp.NextBatch } + close(doneCh) }() select { case <-time.After(time.Second * 10): + close(doneCh) return fmt.Errorf("failed to receive all expected messages: %+v", wantEventIDs) case <-doneCh: }