@@ -64,7 +64,7 @@ func TestConn(t *testing.T) {
64
64
t .Run ("Ping" , func (t * testing.T ) {
65
65
t .Parallel ()
66
66
client , server , _ := createPair (t )
67
- exchange (client , server )
67
+ exchange (t , client , server )
68
68
_ , err := client .Ping ()
69
69
require .NoError (t , err )
70
70
_ , err = server .Ping ()
@@ -74,7 +74,7 @@ func TestConn(t *testing.T) {
74
74
t .Run ("PingNetworkOffline" , func (t * testing.T ) {
75
75
t .Parallel ()
76
76
client , server , wan := createPair (t )
77
- exchange (client , server )
77
+ exchange (t , client , server )
78
78
_ , err := server .Ping ()
79
79
require .NoError (t , err )
80
80
err = wan .Stop ()
@@ -86,7 +86,7 @@ func TestConn(t *testing.T) {
86
86
t .Run ("PingReconnect" , func (t * testing.T ) {
87
87
t .Parallel ()
88
88
client , server , wan := createPair (t )
89
- exchange (client , server )
89
+ exchange (t , client , server )
90
90
_ , err := server .Ping ()
91
91
require .NoError (t , err )
92
92
// Create a channel that closes on disconnect.
@@ -107,7 +107,7 @@ func TestConn(t *testing.T) {
107
107
t .Run ("Accept" , func (t * testing.T ) {
108
108
t .Parallel ()
109
109
client , server , _ := createPair (t )
110
- exchange (client , server )
110
+ exchange (t , client , server )
111
111
cch , err := client .Dial (context .Background (), "hello" , & peer.ChannelOptions {})
112
112
require .NoError (t , err )
113
113
@@ -123,7 +123,7 @@ func TestConn(t *testing.T) {
123
123
t .Run ("AcceptNetworkOffline" , func (t * testing.T ) {
124
124
t .Parallel ()
125
125
client , server , wan := createPair (t )
126
- exchange (client , server )
126
+ exchange (t , client , server )
127
127
cch , err := client .Dial (context .Background (), "hello" , & peer.ChannelOptions {})
128
128
require .NoError (t , err )
129
129
sch , err := server .Accept (context .Background ())
@@ -140,7 +140,7 @@ func TestConn(t *testing.T) {
140
140
t .Run ("Buffering" , func (t * testing.T ) {
141
141
t .Parallel ()
142
142
client , server , _ := createPair (t )
143
- exchange (client , server )
143
+ exchange (t , client , server )
144
144
cch , err := client .Dial (context .Background (), "hello" , & peer.ChannelOptions {})
145
145
require .NoError (t , err )
146
146
sch , err := server .Accept (context .Background ())
@@ -167,7 +167,7 @@ func TestConn(t *testing.T) {
167
167
t .Run ("NetConn" , func (t * testing.T ) {
168
168
t .Parallel ()
169
169
client , server , _ := createPair (t )
170
- exchange (client , server )
170
+ exchange (t , client , server )
171
171
srv , err := net .Listen ("tcp" , "127.0.0.1:0" )
172
172
require .NoError (t , err )
173
173
defer srv .Close ()
@@ -220,7 +220,7 @@ func TestConn(t *testing.T) {
220
220
t .Run ("CloseBeforeNegotiate" , func (t * testing.T ) {
221
221
t .Parallel ()
222
222
client , server , _ := createPair (t )
223
- exchange (client , server )
223
+ exchange (t , client , server )
224
224
err := client .Close ()
225
225
require .NoError (t , err )
226
226
err = server .Close ()
@@ -240,7 +240,7 @@ func TestConn(t *testing.T) {
240
240
t .Run ("PingConcurrent" , func (t * testing.T ) {
241
241
t .Parallel ()
242
242
client , server , _ := createPair (t )
243
- exchange (client , server )
243
+ exchange (t , client , server )
244
244
var wg sync.WaitGroup
245
245
wg .Add (2 )
246
246
go func () {
@@ -271,7 +271,7 @@ func TestConn(t *testing.T) {
271
271
t .Run ("ShortBuffer" , func (t * testing.T ) {
272
272
t .Parallel ()
273
273
client , server , _ := createPair (t )
274
- exchange (client , server )
274
+ exchange (t , client , server )
275
275
go func () {
276
276
channel , err := client .Dial (context .Background (), "test" , nil )
277
277
require .NoError (t , err )
@@ -345,8 +345,17 @@ func createPair(t *testing.T) (client *peer.Conn, server *peer.Conn, wan *vnet.R
345
345
return channel1 , channel2 , wan
346
346
}
347
347
348
- func exchange (client , server * peer.Conn ) {
348
+ func exchange (t * testing.T , client , server * peer.Conn ) {
349
+ var wg sync.WaitGroup
350
+ wg .Add (2 )
351
+ t .Cleanup (func () {
352
+ _ = client .Close ()
353
+ _ = server .Close ()
354
+
355
+ wg .Wait ()
356
+ })
349
357
go func () {
358
+ defer wg .Done ()
350
359
for {
351
360
select {
352
361
case c := <- server .LocalCandidate ():
@@ -358,8 +367,8 @@ func exchange(client, server *peer.Conn) {
358
367
}
359
368
}
360
369
}()
361
-
362
370
go func () {
371
+ defer wg .Done ()
363
372
for {
364
373
select {
365
374
case c := <- client .LocalCandidate ():
0 commit comments