Skip to content

Commit

Permalink
autorelay: fix race condition in TestBackoff (#1731)
Browse files Browse the repository at this point in the history
  • Loading branch information
marten-seemann authored Sep 6, 2022
1 parent b810812 commit cb8c25f
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions p2p/host/autorelay/autorelay_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)))
}

Expand Down

0 comments on commit cb8c25f

Please sign in to comment.