From: Matt Joiner Date: Wed, 13 Aug 2025 01:57:26 +0000 (+1000) Subject: Fix some tests that didn't hold lock while deferring actions X-Git-Tag: v1.59.0~2^2~17 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ea85f3498082c2495850631c84eaa6dc8d2c91f4;p=btrtrc.git Fix some tests that didn't hold lock while deferring actions --- diff --git a/deferrwl_test.go b/deferrwl_test.go index 8d08ede6..55297384 100644 --- a/deferrwl_test.go +++ b/deferrwl_test.go @@ -9,6 +9,7 @@ import ( func TestUniqueDeferOnce(t *testing.T) { var p1, p2 Piece var mu lockWithDeferreds + mu.Lock() mu.DeferUniqueUnaryFunc(&p1, p1.publishStateChange) mu.DeferUniqueUnaryFunc(&p1, p1.publishStateChange) qt.Assert(t, qt.HasLen(mu.unlockActions, 1)) diff --git a/peerconn_test.go b/peerconn_test.go index 876ed883..4a4e7740 100644 --- a/peerconn_test.go +++ b/peerconn_test.go @@ -28,7 +28,9 @@ func TestSendBitfieldThenHave(t *testing.T) { cl.initLogger() c := cl.newConnection(nil, newConnectionOpts{network: "io.Pipe"}) c.setTorrent(cl.newTorrentForTesting()) + cl.lock() err := c.t.setInfo(&metainfo.Info{Pieces: make([]byte, metainfo.HashSize*3)}) + cl.unlock() qt.Assert(t, qt.IsNil(err)) r, w := io.Pipe() // c.r = r