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))
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