Skip to content

Commit dcecb59

Browse files
fix: add server readiness check to prevent test race condition
- wait for mock HTTP server to be ready before running tests - prevents flaky test failures due to connection refused errors
1 parent 390b969 commit dcecb59

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

deepsource/tests/init_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ package tests
33
import (
44
"fmt"
55
"log"
6+
"net"
67
"net/http"
78
"os"
89
"testing"
10+
"time"
911
)
1012

1113
var srv *http.Server
@@ -34,4 +36,15 @@ func startMockAPIServer() {
3436
panic(fmt.Sprintf("failed to start HTTP mock server with error=%s", err))
3537
}
3638
}()
39+
40+
// Wait for server to be ready
41+
for i := 0; i < 50; i++ {
42+
conn, err := net.Dial("tcp", "localhost:8081")
43+
if err == nil {
44+
conn.Close()
45+
return
46+
}
47+
time.Sleep(10 * time.Millisecond)
48+
}
49+
panic("mock server failed to start within timeout")
3750
}

0 commit comments

Comments
 (0)