Skip to content

Commit 729f8a0

Browse files
committed
Fix derpmesh send
1 parent c3a77fe commit 729f8a0

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

enterprise/derpmesh/derpmesh_test.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,28 @@ func TestDERPMesh(t *testing.T) {
6767
err = secondClient.Connect(context.Background())
6868
require.NoError(t, err)
6969

70+
closed := make(chan struct{})
71+
ctx, cancelFunc := context.WithCancel(context.Background())
72+
defer cancelFunc()
7073
sent := []byte("hello world")
71-
err = firstClient.Send(second.Public(), sent)
72-
require.NoError(t, err)
74+
go func() {
75+
defer close(closed)
76+
ticker := time.NewTicker(50 * time.Millisecond)
77+
for {
78+
select {
79+
case <-ctx.Done():
80+
return
81+
case <-ticker.C:
82+
}
83+
err = firstClient.Send(second.Public(), sent)
84+
require.NoError(t, err)
85+
}
86+
}()
7387

7488
got := recvData(t, secondClient)
7589
require.Equal(t, sent, got)
90+
cancelFunc()
91+
<-closed
7692
})
7793
t.Run("RemoveAddress", func(t *testing.T) {
7894
// This tests messages passing through multiple DERP servers.

0 commit comments

Comments
 (0)