peerconn_test.go | 12 ++++++++---- diff --git a/peerconn_test.go b/peerconn_test.go index 5e8cc1b56f3317eda9821545621b17a44ecd5631..be88bf47b27d2d83e566748d4b444fa30a9d2dad 100644 --- a/peerconn_test.go +++ b/peerconn_test.go @@ -1,6 +1,7 @@ package torrent import ( + "errors" "io" "net" "sync" @@ -107,7 +108,7 @@ t._pendingPieces.Set(0, PiecePriorityNormal.BitmapPriority()) r, w := net.Pipe() cn := cl.newConnection(r, true, r.RemoteAddr(), r.RemoteAddr().Network(), regularNetConnPeerConnConnString(r)) cn.setTorrent(t) - mrlErr := make(chan error) + mrlErrChan := make(chan error) msg := pp.Message{ Type: pp.Piece, Piece: make([]byte, defaultChunkSize), @@ -116,9 +117,9 @@ go func() { cl.lock() err := cn.mainReadLoop() if err != nil { - mrlErr <- err + mrlErrChan <- err } - close(mrlErr) + close(mrlErrChan) }() wb := msg.MustMarshalBinary() b.SetBytes(int64(len(msg.Piece))) @@ -142,7 +143,10 @@ if err := w.Close(); err != nil { panic(err) } }() - c.Assert([]error{nil, io.EOF}, quicktest.Contains, <-mrlErr) + mrlErr := <-mrlErrChan + if mrlErr != nil && !errors.Is(mrlErr, io.EOF) { + c.Fatal(mrlErr) + } c.Assert(cn._stats.ChunksReadUseful.Int64(), quicktest.Equals, int64(b.N)) }