]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix mainReadLoop benchmark
authorMatt Joiner <anacrolix@gmail.com>
Thu, 30 Sep 2021 02:01:34 +0000 (12:01 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 30 Sep 2021 02:01:34 +0000 (12:01 +1000)
peerconn_test.go

index 5e8cc1b56f3317eda9821545621b17a44ecd5631..be88bf47b27d2d83e566748d4b444fa30a9d2dad 100644 (file)
@@ -1,6 +1,7 @@
 package torrent
 
 import (
+       "errors"
        "io"
        "net"
        "sync"
@@ -107,7 +108,7 @@ func BenchmarkConnectionMainReadLoop(b *testing.B) {
        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 @@ func BenchmarkConnectionMainReadLoop(b *testing.B) {
                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 @@ func BenchmarkConnectionMainReadLoop(b *testing.B) {
                        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))
 }