From d99ed85db8f87193833f7347f4ebc6530732604d Mon Sep 17 00:00:00 2001 From: Jon Ayers Date: Tue, 14 Jul 2026 14:10:52 -0500 Subject: [PATCH] fix: fix test flake in nats subscribe cleanup (#27238) --- coderd/x/nats/pubsub_internal_test.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/coderd/x/nats/pubsub_internal_test.go b/coderd/x/nats/pubsub_internal_test.go index e05dad448d..9b94511de1 100644 --- a/coderd/x/nats/pubsub_internal_test.go +++ b/coderd/x/nats/pubsub_internal_test.go @@ -589,9 +589,13 @@ func TestSubscribeError(t *testing.T) { }) require.ErrorIs(t, err, assert.AnError) require.Nil(t, cancel) - ps.mu.Lock() - defer ps.mu.Unlock() - require.Empty(t, ps.subscriptions) + // subscribeDone closes before failed-group cleanup to avoid a + // lock-order deadlock, so SubscribeWithErr may return first. + require.Eventually(t, func() bool { + ps.mu.Lock() + defer ps.mu.Unlock() + return len(ps.subscriptions) == 0 + }, testutil.WaitShort, testutil.IntervalFast) }) } }