@@ -148,6 +148,7 @@ func TestHandshakeBasic(t *testing.T) {
148
148
clientDone := make (chan int , 0 )
149
149
gotHalf := make (chan int , 0 )
150
150
const N = 20
151
+ errorCh := make (chan error , 1 )
151
152
152
153
go func () {
153
154
defer close (clientDone )
@@ -158,7 +159,9 @@ func TestHandshakeBasic(t *testing.T) {
158
159
for i := 0 ; i < N ; i ++ {
159
160
p := []byte {msgRequestSuccess , byte (i )}
160
161
if err := trC .writePacket (p ); err != nil {
161
- t .Fatalf ("sendPacket: %v" , err )
162
+ errorCh <- err
163
+ trC .Close ()
164
+ return
162
165
}
163
166
if (i % 10 ) == 5 {
164
167
<- gotHalf
@@ -177,16 +180,15 @@ func TestHandshakeBasic(t *testing.T) {
177
180
checker .waitCall <- 1
178
181
}
179
182
}
183
+ errorCh <- nil
180
184
}()
181
185
182
186
// Server checks that client messages come in cleanly
183
187
i := 0
184
- err = nil
185
188
for ; i < N ; i ++ {
186
- var p []byte
187
- p , err = trS .readPacket ()
188
- if err != nil {
189
- break
189
+ p , err := trS .readPacket ()
190
+ if err != nil && err != io .EOF {
191
+ t .Fatalf ("server error: %v" , err )
190
192
}
191
193
if (i % 10 ) == 5 {
192
194
gotHalf <- 1
@@ -198,8 +200,8 @@ func TestHandshakeBasic(t *testing.T) {
198
200
}
199
201
}
200
202
<- clientDone
201
- if err != nil && err != io . EOF {
202
- t .Fatalf ("server error : %v" , err )
203
+ if err := <- errorCh ; err != nil {
204
+ t .Fatalf ("sendPacket : %v" , err )
203
205
}
204
206
if i != N {
205
207
t .Errorf ("received %d messages, want 10." , i )
@@ -345,16 +347,16 @@ func TestHandshakeAutoRekeyRead(t *testing.T) {
345
347
346
348
// While we read out the packet, a key change will be
347
349
// initiated.
348
- done := make (chan int , 1 )
350
+ errorCh := make (chan error , 1 )
349
351
go func () {
350
- defer close (done )
351
- if _ , err := trC .readPacket (); err != nil {
352
- t .Fatalf ("readPacket(client): %v" , err )
353
- }
354
-
352
+ _ , err := trC .readPacket ()
353
+ errorCh <- err
355
354
}()
356
355
357
- <- done
356
+ if err := <- errorCh ; err != nil {
357
+ t .Fatalf ("readPacket(client): %v" , err )
358
+ }
359
+
358
360
<- sync .called
359
361
}
360
362
0 commit comments