fix: fix TestTailnet/Connect to wait for listener before dialing (#14148)

This commit is contained in:
Spike Curtis
2024-08-05 15:45:46 +04:00
committed by GitHub
parent e0351124b2
commit dda9c56098
+6 -1
View File
@@ -64,9 +64,13 @@ func TestTailnet(t *testing.T) {
stitch(t, w1, w2)
require.True(t, w2.AwaitReachable(context.Background(), w1IP))
conn := make(chan struct{}, 1)
listenDone := make(chan struct{})
go func() {
listener, err := w1.Listen("tcp", ":35565")
assert.NoError(t, err)
if !assert.NoError(t, err) {
return
}
close(listenDone)
defer listener.Close()
nc, err := listener.Accept()
if !assert.NoError(t, err) {
@@ -76,6 +80,7 @@ func TestTailnet(t *testing.T) {
conn <- struct{}{}
}()
_ = testutil.RequireRecvCtx(ctx, t, listenDone)
nc, err := w2.DialContextTCP(context.Background(), netip.AddrPortFrom(w1IP, 35565))
require.NoError(t, err)
_ = nc.Close()