Skip to content

Commit c3a77fe

Browse files
committed
Fix replica resend
1 parent 423a47e commit c3a77fe

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

enterprise/derpmesh/derpmesh_test.go

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,28 @@ func TestDERPMesh(t *testing.T) {
9494
secondClient.TLSConfig = tlsConfig
9595
err = secondClient.Connect(context.Background())
9696
require.NoError(t, err)
97+
98+
closed := make(chan struct{})
99+
ctx, cancelFunc := context.WithCancel(context.Background())
100+
defer cancelFunc()
97101
sent := []byte("hello world")
98-
err = firstClient.Send(second.Public(), sent)
99-
require.NoError(t, err)
102+
go func() {
103+
defer close(closed)
104+
ticker := time.NewTicker(50 * time.Millisecond)
105+
for {
106+
select {
107+
case <-ctx.Done():
108+
return
109+
case <-ticker.C:
110+
}
111+
err = firstClient.Send(second.Public(), sent)
112+
require.NoError(t, err)
113+
}
114+
}()
100115
got := recvData(t, secondClient)
101116
require.Equal(t, sent, got)
117+
cancelFunc()
118+
<-closed
102119
})
103120
t.Run("TwentyMeshes", func(t *testing.T) {
104121
t.Parallel()
@@ -135,7 +152,7 @@ func TestDERPMesh(t *testing.T) {
135152
sent := []byte("hello world")
136153
go func() {
137154
defer close(closed)
138-
ticker := time.NewTicker(time.Second)
155+
ticker := time.NewTicker(50 * time.Millisecond)
139156
for {
140157
select {
141158
case <-ctx.Done():

0 commit comments

Comments
 (0)