Skip to content

Commit 807c8b7

Browse files
committed
fix: add readiness check to daemon test helper to prevent flaky test
1 parent 335b95f commit 807c8b7

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

internal/daemon/daemon_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"context"
66
"encoding/json"
7+
"net"
78
"net/http"
89
"strings"
910
"testing"
@@ -20,6 +21,18 @@ func startTestDaemon(t *testing.T, srv *Server) string {
2021
testutil.SkipIfLoopbackUnavailable(t, err)
2122
t.Fatalf("Start failed: %v", err)
2223
}
24+
25+
// Wait for the server to be ready to accept connections.
26+
deadline := time.Now().Add(2 * time.Second)
27+
for time.Now().Before(deadline) {
28+
conn, err := net.DialTimeout("tcp", addr, 50*time.Millisecond)
29+
if err == nil {
30+
conn.Close()
31+
return addr
32+
}
33+
time.Sleep(10 * time.Millisecond)
34+
}
35+
t.Fatalf("daemon at %s not ready after 2s", addr)
2336
return addr
2437
}
2538

0 commit comments

Comments
 (0)