Browse Source

autorelay: fix race condition in TestBackoff (#1731)

pull/1737/head
Marten Seemann 2 years ago
committed by GitHub
parent
commit
cb8c25f5d9
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      p2p/host/autorelay/autorelay_test.go

6
p2p/host/autorelay/autorelay_test.go

@ -239,11 +239,11 @@ func TestBackoff(t *testing.T) {
str.Reset()
})
var counter int
var counter int32 // to be used atomically
h := newPrivateNode(t,
autorelay.WithPeerSource(func(int) <-chan peer.AddrInfo {
// always return the same node, and make sure we don't try to connect to it too frequently
counter++
atomic.AddInt32(&counter, 1)
peerChan := make(chan peer.AddrInfo, 1)
peerChan <- peer.AddrInfo{ID: r.ID(), Addrs: r.Addrs()}
close(peerChan)
@ -264,7 +264,7 @@ func TestBackoff(t *testing.T) {
}
cl.Add(backoff / 2)
require.Eventually(t, func() bool { return atomic.LoadInt32(&reservations) == 2 }, 3*time.Second, 20*time.Millisecond)
require.Less(t, counter, 100) // just make sure we're not busy-looping
require.Less(t, int(atomic.LoadInt32(&counter)), 100) // just make sure we're not busy-looping
require.Equal(t, 2, int(atomic.LoadInt32(&reservations)))
}

Loading…
Cancel
Save