From ecee3ceeec421d42d520fa25c6418e5823216af0 Mon Sep 17 00:00:00 2001 From: Dean Sheather Date: Thu, 13 Jul 2023 10:34:14 -0700 Subject: [PATCH] chore: improve listener algorithm in apptest (#8502) --- coderd/workspaceapps/apptest/setup.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/coderd/workspaceapps/apptest/setup.go b/coderd/workspaceapps/apptest/setup.go index 0f0167f37b..916b6a09ba 100644 --- a/coderd/workspaceapps/apptest/setup.go +++ b/coderd/workspaceapps/apptest/setup.go @@ -240,7 +240,7 @@ func appServer(t *testing.T, headers http.Header) uint16 { ln net.Listener tcpAddr *net.TCPAddr ) - for i := 0; i < 10; i++ { + for i := 0; i < 32; i++ { var err error // #nosec ln, err = net.Listen("tcp", ":0") @@ -251,10 +251,12 @@ func appServer(t *testing.T, headers http.Header) uint16 { require.True(t, ok) if tcpAddr.Port < codersdk.WorkspaceAgentMinimumListeningPort { _ = ln.Close() + ln = nil time.Sleep(20 * time.Millisecond) continue } } + require.NotNil(t, ln, "failed to find a free port greater than the minimum app port") server := http.Server{ ReadHeaderTimeout: time.Minute,