@@ -175,29 +175,37 @@ func TestCloseBeforeFinalFrame(t *testing.T) {
175
175
}
176
176
177
177
func TestEOFWithinFrame (t * testing.T ) {
178
- const bufSize = 512
178
+ const bufSize = 64
179
179
180
- var b bytes.Buffer
181
- wc := newConn (fakeNetConn {Reader : nil , Writer : & b }, false , 1024 , 1024 )
182
- rc := newConn (fakeNetConn {Reader : & b , Writer : nil }, true , 1024 , 1024 )
180
+ for n := 0 ; ; n ++ {
181
+ var b bytes.Buffer
182
+ wc := newConn (fakeNetConn {Reader : nil , Writer : & b }, false , 1024 , 1024 )
183
+ rc := newConn (fakeNetConn {Reader : & b , Writer : nil }, true , 1024 , 1024 )
183
184
184
- w , _ := wc .NextWriter (BinaryMessage )
185
- w .Write (make ([]byte , bufSize ))
186
- w .Close ()
185
+ w , _ := wc .NextWriter (BinaryMessage )
186
+ w .Write (make ([]byte , bufSize ))
187
+ w .Close ()
187
188
188
- b .Truncate (bufSize / 2 )
189
+ if n >= b .Len () {
190
+ break
191
+ }
192
+ b .Truncate (n )
189
193
190
- op , r , err := rc .NextReader ()
191
- if op != BinaryMessage || err != nil {
192
- t .Fatalf ("NextReader() returned %d, %v" , op , err )
193
- }
194
- _ , err = io .Copy (ioutil .Discard , r )
195
- if err != errUnexpectedEOF {
196
- t .Fatalf ("io.Copy() returned %v, want %v" , err , errUnexpectedEOF )
197
- }
198
- _ , _ , err = rc .NextReader ()
199
- if err != errUnexpectedEOF {
200
- t .Fatalf ("NextReader() returned %v, want %v" , err , errUnexpectedEOF )
194
+ op , r , err := rc .NextReader ()
195
+ if err == errUnexpectedEOF {
196
+ continue
197
+ }
198
+ if op != BinaryMessage || err != nil {
199
+ t .Fatalf ("%d: NextReader() returned %d, %v" , n , op , err )
200
+ }
201
+ _ , err = io .Copy (ioutil .Discard , r )
202
+ if err != errUnexpectedEOF {
203
+ t .Fatalf ("%d: io.Copy() returned %v, want %v" , n , err , errUnexpectedEOF )
204
+ }
205
+ _ , _ , err = rc .NextReader ()
206
+ if err != errUnexpectedEOF {
207
+ t .Fatalf ("%d: NextReader() returned %v, want %v" , n , err , errUnexpectedEOF )
208
+ }
201
209
}
202
210
}
203
211
0 commit comments