Skip to content

Commit

Permalink
Resolve warnings from golangci-lint
Browse files Browse the repository at this point in the history
  • Loading branch information
bboreham committed Oct 11, 2019
1 parent 1a857c8 commit 26ddd6e
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 25 deletions.
20 changes: 10 additions & 10 deletions gossip_test.go
Expand Up @@ -79,14 +79,14 @@ func sendPendingTopologyUpdates(routers ...*Router) {
}
}

func addTestGossipConnection(r1, r2 *Router) {
c1 := r1.newTestGossipConnection(r2)
c2 := r2.newTestGossipConnection(r1)
func addTestGossipConnection(t require.TestingT, r1, r2 *Router) {
c1 := r1.newTestGossipConnection(t, r2)
c2 := r2.newTestGossipConnection(t, r1)
c1.Start()
c2.Start()
}

func (router *Router) newTestGossipConnection(r *Router) *mockGossipConnection {
func (router *Router) newTestGossipConnection(t require.TestingT, r *Router) *mockGossipConnection {
to := r.Ourself.Peer
toPeer := newPeer(to.Name, to.NickName, to.UID, 0, to.ShortID)
toPeer = router.Peers.fetchWithDefault(toPeer) // Has side-effect of incrementing refcount
Expand All @@ -97,7 +97,7 @@ func (router *Router) newTestGossipConnection(r *Router) *mockGossipConnection {
start: make(chan struct{}),
}
conn.senders = newGossipSenders(conn, make(chan struct{}))
router.Ourself.handleAddConnection(conn, false)
require.NoError(t, router.Ourself.handleAddConnection(conn, false))
router.Ourself.handleConnectionEstablished(conn)
return conn
}
Expand Down Expand Up @@ -150,15 +150,15 @@ func TestGossipTopology(t *testing.T) {
checkTopology(t, r2, r2.tp())

// Now try adding some connections
addTestGossipConnection(r1, r2)
addTestGossipConnection(t, r1, r2)
sendPendingGossip(r1, r2)
checkTopology(t, r1, r1.tp(r2), r2.tp(r1))
checkTopology(t, r2, r1.tp(r2), r2.tp(r1))

addTestGossipConnection(r2, r3)
addTestGossipConnection(t, r2, r3)
flushAndCheckTopology(t, routers, r1.tp(r2), r2.tp(r1, r3), r3.tp(r2))

addTestGossipConnection(r3, r1)
addTestGossipConnection(t, r3, r1)
flushAndCheckTopology(t, routers, r1.tp(r2, r3), r2.tp(r1, r3), r3.tp(r1, r2))

// Drop the connection from 2 to 3
Expand All @@ -182,8 +182,8 @@ func TestGossipSurrogate(t *testing.T) {
r2 := newTestRouter(t, "02:00:00:02:00:00")
r3 := newTestRouter(t, "03:00:00:03:00:00")
routers := []*Router{r1, r2, r3}
addTestGossipConnection(r1, r2)
addTestGossipConnection(r3, r2)
addTestGossipConnection(t, r1, r2)
addTestGossipConnection(t, r3, r2)
flushAndCheckTopology(t, routers, r1.tp(r2), r2.tp(r1, r3), r3.tp(r2))

// create a gossiper at either end, but not the middle
Expand Down
13 changes: 5 additions & 8 deletions peers.go
Expand Up @@ -350,14 +350,11 @@ func (peers *Peers) forEach(fun func(*Peer)) {
}

func (peers *Peers) actorLoop() {
for {
select {
case <-peers.timer.C:
peers.GarbageCollect()
peers.Lock()
peers.pendingGC = false
peers.Unlock()
}
for range peers.timer.C {
peers.GarbageCollect()
peers.Lock()
peers.pendingGC = false
peers.Unlock()
}
}

Expand Down
21 changes: 14 additions & 7 deletions peers_test.go
Expand Up @@ -31,7 +31,8 @@ func checkApplyUpdate(t *testing.T, peers *Peers) {
// into it.
_, testBedPeers := newNode(dummyName)
testBedPeers.AddTestConnection(peers.ourself.Peer)
testBedPeers.applyUpdate(peers.encodePeers(peers.names()))
_, _, err := testBedPeers.applyUpdate(peers.encodePeers(peers.names()))
require.NoError(t, err)

checkTopologyPeers(t, true, testBedPeers.allPeersExcept(dummyName), peers.allPeers()...)
}
Expand Down Expand Up @@ -296,13 +297,15 @@ func TestShortIDPropagation(t *testing.T) {
_, peers2 := newNode(PeerName(2))

peers1.AddTestConnection(peers2.ourself.Peer)
peers1.applyUpdate(peers2.encodePeers(peers2.names()))
_, _, err := peers1.applyUpdate(peers2.encodePeers(peers2.names()))
require.NoError(t, err)
peers12 := peers1.Fetch(PeerName(2))
old := peers12.peerSummary

require.True(t,
peers2.reassignLocalShortID(&peersPendingNotifications{}))
peers1.applyUpdate(peers2.encodePeers(peers2.names()))
_, _, err = peers1.applyUpdate(peers2.encodePeers(peers2.names()))
require.NoError(t, err)
require.NotEqual(t, old.Version, peers12.Version)
require.NotEqual(t, old.ShortID, peers12.ShortID)
}
Expand All @@ -322,15 +325,18 @@ func TestShortIDCollision(t *testing.T) {
peers3.AddTestConnection(peers2.ourself.Peer)

// Propogate from 1 to 2 to 3
peers2.applyUpdate(peers1.encodePeers(peers1.names()))
peers3.applyUpdate(peers2.encodePeers(peers2.names()))
_, _, err := peers2.applyUpdate(peers1.encodePeers(peers1.names()))
require.NoError(t, err)
_, _, err = peers3.applyUpdate(peers2.encodePeers(peers2.names()))
require.NoError(t, err)

// Force the short id of peer 1 to collide with peer 2. Peer
// 1 has the lowest name, so it gets to keep the short id
peers1.setLocalShortID(2, &pending)

oldShortID := peers2.ourself.ShortID
_, updated, _ := peers2.applyUpdate(peers1.encodePeers(peers1.names()))
_, updated, err := peers2.applyUpdate(peers1.encodePeers(peers1.names()))
require.NoError(t, err)

// peer 2 should have noticed the collision and resolved it
require.NotEqual(t, oldShortID, peers2.ourself.ShortID)
Expand All @@ -341,7 +347,8 @@ func TestShortIDCollision(t *testing.T) {
updated[PeerName(2)] = struct{}{}

// the update from peer 2 should include its short id change
peers3.applyUpdate(peers2.encodePeers(updated))
_, _, err = peers3.applyUpdate(peers2.encodePeers(updated))
require.NoError(t, err)
require.Equal(t, peers2.ourself.ShortID,
peers3.Fetch(PeerName(2)).ShortID)
}
Expand Down

0 comments on commit 26ddd6e

Please sign in to comment.