From 8af25dcbe3081000c2c6e50f363ebc028888db12 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Thu, 30 Mar 2023 14:23:47 +0000 Subject: [PATCH] fix: iterate through all workspace updates on logs overflow This was causing some flakes! --- coderd/workspaceagents_test.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/coderd/workspaceagents_test.go b/coderd/workspaceagents_test.go index b9474ff66a759..fe37b075427d8 100644 --- a/coderd/workspaceagents_test.go +++ b/coderd/workspaceagents_test.go @@ -282,14 +282,19 @@ func TestWorkspaceAgentStartupLogs(t *testing.T) { require.ErrorAs(t, err, &apiError) require.Equal(t, http.StatusRequestEntityTooLarge, apiError.StatusCode()) - var update codersdk.Workspace - select { - case <-ctx.Done(): - t.FailNow() - case update = <-updates: + // It's possible we have multiple updates queued, but that's alright, we just + // wait for the one where it overflows. + for { + var update codersdk.Workspace + select { + case <-ctx.Done(): + t.FailNow() + case update = <-updates: + } + if update.LatestBuild.Resources[0].Agents[0].StartupLogsOverflowed { + break + } } - // Ensure that the UI gets an update when the logs overflow! - require.True(t, update.LatestBuild.Resources[0].Agents[0].StartupLogsOverflowed) }) }