mirror of
https://github.com/tendermint/tendermint.git
synced 2026-08-19 05:36:15 +00:00
lint: errcheck (#5091)
## Description add more error checks to tests gonna do a third PR that tackles the non test cases
This commit is contained in:
@@ -437,8 +437,6 @@ func expectSend(ch chan struct{}) bool {
|
||||
func TestMConnectionReadErrorBadEncoding(t *testing.T) {
|
||||
chOnErr := make(chan struct{})
|
||||
mconnClient, mconnServer := newClientAndServerConnsForReadErrors(t, chOnErr)
|
||||
defer mconnClient.Stop() // nolint:errcheck // ignore for tests
|
||||
defer mconnServer.Stop() // nolint:errcheck // ignore for tests
|
||||
|
||||
client := mconnClient.conn
|
||||
|
||||
@@ -446,13 +444,23 @@ func TestMConnectionReadErrorBadEncoding(t *testing.T) {
|
||||
_, err := client.Write([]byte{1, 2, 3, 4, 5})
|
||||
require.NoError(t, err)
|
||||
assert.True(t, expectSend(chOnErr), "badly encoded msgPacket")
|
||||
|
||||
t.Cleanup(func() {
|
||||
if err := mconnClient.Stop(); err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Cleanup(func() {
|
||||
if err := mconnServer.Stop(); err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestMConnectionReadErrorUnknownChannel(t *testing.T) {
|
||||
chOnErr := make(chan struct{})
|
||||
mconnClient, mconnServer := newClientAndServerConnsForReadErrors(t, chOnErr)
|
||||
defer mconnClient.Stop()
|
||||
defer mconnServer.Stop()
|
||||
|
||||
msg := []byte("Ant-Man")
|
||||
|
||||
@@ -463,6 +471,18 @@ func TestMConnectionReadErrorUnknownChannel(t *testing.T) {
|
||||
// should cause an error
|
||||
assert.True(t, mconnClient.Send(0x02, msg))
|
||||
assert.True(t, expectSend(chOnErr), "unknown channel")
|
||||
|
||||
t.Cleanup(func() {
|
||||
if err := mconnClient.Stop(); err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Cleanup(func() {
|
||||
if err := mconnServer.Stop(); err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestMConnectionReadErrorLongMessage(t *testing.T) {
|
||||
@@ -528,7 +548,8 @@ func TestMConnectionTrySend(t *testing.T) {
|
||||
msg := []byte("Semicolon-Woman")
|
||||
resultCh := make(chan string, 2)
|
||||
assert.True(t, mconn.TrySend(0x01, msg))
|
||||
server.Read(make([]byte, len(msg)))
|
||||
_, err = server.Read(make([]byte, len(msg)))
|
||||
require.NoError(t, err)
|
||||
assert.True(t, mconn.CanSend(0x01))
|
||||
assert.True(t, mconn.TrySend(0x01, msg))
|
||||
assert.False(t, mconn.CanSend(0x01))
|
||||
|
||||
@@ -228,7 +228,8 @@ func TestDeriveSecretsAndChallengeGolden(t *testing.T) {
|
||||
if *update {
|
||||
t.Logf("Updating golden test vector file %s", goldenFilepath)
|
||||
data := createGoldenTestVectors(t)
|
||||
tmos.WriteFile(goldenFilepath, []byte(data), 0644)
|
||||
err := tmos.WriteFile(goldenFilepath, []byte(data), 0644)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
f, err := os.Open(goldenFilepath)
|
||||
if err != nil {
|
||||
@@ -263,7 +264,7 @@ func TestNilPubkey(t *testing.T) {
|
||||
var fooPrvKey = ed25519.GenPrivKey()
|
||||
var barPrvKey = privKeyWithNilPubKey{ed25519.GenPrivKey()}
|
||||
|
||||
go MakeSecretConnection(fooConn, fooPrvKey)
|
||||
go MakeSecretConnection(fooConn, fooPrvKey) //nolint:errcheck // ignore for tests
|
||||
|
||||
_, err := MakeSecretConnection(barConn, barPrvKey)
|
||||
require.Error(t, err)
|
||||
@@ -277,7 +278,7 @@ func TestNonEd25519Pubkey(t *testing.T) {
|
||||
var fooPrvKey = ed25519.GenPrivKey()
|
||||
var barPrvKey = secp256k1.GenPrivKey()
|
||||
|
||||
go MakeSecretConnection(fooConn, fooPrvKey)
|
||||
go MakeSecretConnection(fooConn, fooPrvKey) //nolint:errcheck // ignore for tests
|
||||
|
||||
_, err := MakeSecretConnection(barConn, barPrvKey)
|
||||
require.Error(t, err)
|
||||
|
||||
+3
-1
@@ -200,7 +200,9 @@ func (p *peer) FlushStop() {
|
||||
func (p *peer) OnStop() {
|
||||
p.metricsTicker.Stop()
|
||||
p.BaseService.OnStop()
|
||||
p.mconn.Stop() // stop everything and close the conn
|
||||
if err := p.mconn.Stop(); err != nil { // stop everything and close the conn
|
||||
p.Logger.Error("Error while stopping peer", "err", err)
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------
|
||||
|
||||
+36
-18
@@ -35,7 +35,8 @@ func TestAddrBookPickAddress(t *testing.T) {
|
||||
|
||||
randAddrs := randNetAddressPairs(t, 1)
|
||||
addrSrc := randAddrs[0]
|
||||
book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
err := book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
require.NoError(t, err)
|
||||
|
||||
// pick an address when we only have new address
|
||||
addr = book.PickAddress(0)
|
||||
@@ -68,7 +69,8 @@ func TestAddrBookSaveLoad(t *testing.T) {
|
||||
|
||||
book = NewAddrBook(fname, true)
|
||||
book.SetLogger(log.TestingLogger())
|
||||
book.Start()
|
||||
err := book.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.True(t, book.Empty())
|
||||
|
||||
@@ -76,7 +78,8 @@ func TestAddrBookSaveLoad(t *testing.T) {
|
||||
randAddrs := randNetAddressPairs(t, 100)
|
||||
|
||||
for _, addrSrc := range randAddrs {
|
||||
book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
err := book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
assert.Equal(t, 100, book.Size())
|
||||
@@ -84,7 +87,8 @@ func TestAddrBookSaveLoad(t *testing.T) {
|
||||
|
||||
book = NewAddrBook(fname, true)
|
||||
book.SetLogger(log.TestingLogger())
|
||||
book.Start()
|
||||
err = book.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.Equal(t, 100, book.Size())
|
||||
}
|
||||
@@ -100,7 +104,8 @@ func TestAddrBookLookup(t *testing.T) {
|
||||
for _, addrSrc := range randAddrs {
|
||||
addr := addrSrc.addr
|
||||
src := addrSrc.src
|
||||
book.AddAddress(addr, src)
|
||||
err := book.AddAddress(addr, src)
|
||||
require.NoError(t, err)
|
||||
|
||||
ka := book.HasAddress(addr)
|
||||
assert.True(t, ka, "Expected to find KnownAddress %v but wasn't there.", addr)
|
||||
@@ -116,7 +121,8 @@ func TestAddrBookPromoteToOld(t *testing.T) {
|
||||
book := NewAddrBook(fname, true)
|
||||
book.SetLogger(log.TestingLogger())
|
||||
for _, addrSrc := range randAddrs {
|
||||
book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
err := book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
// Attempt all addresses.
|
||||
@@ -161,9 +167,12 @@ func TestAddrBookHandlesDuplicates(t *testing.T) {
|
||||
|
||||
differentSrc := randIPv4Address(t)
|
||||
for _, addrSrc := range randAddrs {
|
||||
book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
book.AddAddress(addrSrc.addr, addrSrc.src) // duplicate
|
||||
book.AddAddress(addrSrc.addr, differentSrc) // different src
|
||||
err := book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
require.NoError(t, err)
|
||||
err = book.AddAddress(addrSrc.addr, addrSrc.src) // duplicate
|
||||
require.NoError(t, err)
|
||||
err = book.AddAddress(addrSrc.addr, differentSrc) // different src
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
assert.Equal(t, 100, book.Size())
|
||||
@@ -209,7 +218,8 @@ func TestAddrBookRemoveAddress(t *testing.T) {
|
||||
book.SetLogger(log.TestingLogger())
|
||||
|
||||
addr := randIPv4Address(t)
|
||||
book.AddAddress(addr, addr)
|
||||
err := book.AddAddress(addr, addr)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, 1, book.Size())
|
||||
|
||||
book.RemoveAddress(addr)
|
||||
@@ -260,7 +270,8 @@ func TestAddrBookGetSelection(t *testing.T) {
|
||||
|
||||
// 2) add one address
|
||||
addr := randIPv4Address(t)
|
||||
book.AddAddress(addr, addr)
|
||||
err := book.AddAddress(addr, addr)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.Equal(t, 1, len(book.GetSelection()))
|
||||
assert.Equal(t, addr, book.GetSelection()[0])
|
||||
@@ -268,7 +279,8 @@ func TestAddrBookGetSelection(t *testing.T) {
|
||||
// 3) add a bunch of addresses
|
||||
randAddrs := randNetAddressPairs(t, 100)
|
||||
for _, addrSrc := range randAddrs {
|
||||
book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
err := book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
// check there is no duplicates
|
||||
@@ -301,7 +313,8 @@ func TestAddrBookGetSelectionWithBias(t *testing.T) {
|
||||
|
||||
// 2) add one address
|
||||
addr := randIPv4Address(t)
|
||||
book.AddAddress(addr, addr)
|
||||
err := book.AddAddress(addr, addr)
|
||||
require.NoError(t, err)
|
||||
|
||||
selection = book.GetSelectionWithBias(biasTowardsNewAddrs)
|
||||
assert.Equal(t, 1, len(selection))
|
||||
@@ -310,7 +323,8 @@ func TestAddrBookGetSelectionWithBias(t *testing.T) {
|
||||
// 3) add a bunch of addresses
|
||||
randAddrs := randNetAddressPairs(t, 100)
|
||||
for _, addrSrc := range randAddrs {
|
||||
book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
err := book.AddAddress(addrSrc.addr, addrSrc.src)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
// check there is no duplicates
|
||||
@@ -376,7 +390,8 @@ func TestAddrBookHasAddress(t *testing.T) {
|
||||
book := NewAddrBook(fname, true)
|
||||
book.SetLogger(log.TestingLogger())
|
||||
addr := randIPv4Address(t)
|
||||
book.AddAddress(addr, addr)
|
||||
err := book.AddAddress(addr, addr)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.True(t, book.HasAddress(addr))
|
||||
|
||||
@@ -442,7 +457,8 @@ func TestAddrBookEmpty(t *testing.T) {
|
||||
require.True(t, book.Empty())
|
||||
|
||||
// Check that book with address is not empty
|
||||
book.AddAddress(randIPv4Address(t), randIPv4Address(t))
|
||||
err := book.AddAddress(randIPv4Address(t), randIPv4Address(t))
|
||||
require.NoError(t, err)
|
||||
require.False(t, book.Empty())
|
||||
}
|
||||
|
||||
@@ -675,13 +691,15 @@ func createAddrBookWithMOldAndNNewAddrs(t *testing.T, nOld, nNew int) (book *add
|
||||
|
||||
randAddrs := randNetAddressPairs(t, nOld)
|
||||
for _, addr := range randAddrs {
|
||||
book.AddAddress(addr.addr, addr.src)
|
||||
err := book.AddAddress(addr.addr, addr.src)
|
||||
require.NoError(t, err)
|
||||
book.MarkGood(addr.addr.ID)
|
||||
}
|
||||
|
||||
randAddrs = randNetAddressPairs(t, nNew)
|
||||
for _, addr := range randAddrs {
|
||||
book.AddAddress(addr.addr, addr.src)
|
||||
err := book.AddAddress(addr.addr, addr.src)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
return
|
||||
|
||||
+80
-17
@@ -117,8 +117,16 @@ func initSwitchFunc(i int, sw *Switch) *Switch {
|
||||
|
||||
func TestSwitches(t *testing.T) {
|
||||
s1, s2 := MakeSwitchPair(t, initSwitchFunc)
|
||||
defer s1.Stop()
|
||||
defer s2.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := s1.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
t.Cleanup(func() {
|
||||
if err := s2.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
if s1.Peers().Size() != 1 {
|
||||
t.Errorf("expected exactly 1 peer in s1, got %v", s1.Peers().Size())
|
||||
@@ -219,12 +227,17 @@ func TestSwitchPeerFilter(t *testing.T) {
|
||||
SwitchPeerFilters(filters...),
|
||||
)
|
||||
)
|
||||
defer sw.Stop()
|
||||
sw.Start()
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
// simulate remote peer
|
||||
rp := &remotePeer{PrivKey: ed25519.GenPrivKey(), Config: cfg}
|
||||
rp.Start()
|
||||
defer rp.Stop()
|
||||
t.Cleanup(rp.Stop)
|
||||
|
||||
p, err := sw.transport.Dial(*rp.Addr(), peerConfig{
|
||||
chDescs: sw.chDescs,
|
||||
@@ -264,7 +277,12 @@ func TestSwitchPeerFilterTimeout(t *testing.T) {
|
||||
SwitchPeerFilters(filters...),
|
||||
)
|
||||
)
|
||||
defer sw.Stop()
|
||||
sw.Start()
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
})
|
||||
|
||||
// simulate remote peer
|
||||
rp := &remotePeer{PrivKey: ed25519.GenPrivKey(), Config: cfg}
|
||||
@@ -289,8 +307,13 @@ func TestSwitchPeerFilterTimeout(t *testing.T) {
|
||||
|
||||
func TestSwitchPeerFilterDuplicate(t *testing.T) {
|
||||
sw := MakeSwitch(cfg, 1, "testing", "123.123.123", initSwitchFunc)
|
||||
sw.Start()
|
||||
defer sw.Stop()
|
||||
err := sw.Start()
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
// simulate remote peer
|
||||
rp := &remotePeer{PrivKey: ed25519.GenPrivKey(), Config: cfg}
|
||||
@@ -336,7 +359,11 @@ func TestSwitchStopsNonPersistentPeerOnError(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
defer sw.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
// simulate remote peer
|
||||
rp := &remotePeer{PrivKey: ed25519.GenPrivKey(), Config: cfg}
|
||||
@@ -404,7 +431,11 @@ func TestSwitchStopPeerForError(t *testing.T) {
|
||||
|
||||
// stop sw2. this should cause the p to fail,
|
||||
// which results in calling StopPeerForError internally
|
||||
sw2.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := sw2.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
// now call StopPeerForError explicitly, eg. from a reactor
|
||||
sw1.StopPeerForError(p, fmt.Errorf("some err"))
|
||||
@@ -417,7 +448,11 @@ func TestSwitchReconnectsToOutboundPersistentPeer(t *testing.T) {
|
||||
sw := MakeSwitch(cfg, 1, "testing", "123.123.123", initSwitchFunc)
|
||||
err := sw.Start()
|
||||
require.NoError(t, err)
|
||||
defer sw.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
// 1. simulate failure by closing connection
|
||||
rp := &remotePeer{PrivKey: ed25519.GenPrivKey(), Config: cfg}
|
||||
@@ -462,7 +497,11 @@ func TestSwitchReconnectsToInboundPersistentPeer(t *testing.T) {
|
||||
sw := MakeSwitch(cfg, 1, "testing", "123.123.123", initSwitchFunc)
|
||||
err := sw.Start()
|
||||
require.NoError(t, err)
|
||||
defer sw.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
// 1. simulate failure by closing the connection
|
||||
rp := &remotePeer{PrivKey: ed25519.GenPrivKey(), Config: cfg}
|
||||
@@ -491,7 +530,11 @@ func TestSwitchDialPeersAsync(t *testing.T) {
|
||||
sw := MakeSwitch(cfg, 1, "testing", "123.123.123", initSwitchFunc)
|
||||
err := sw.Start()
|
||||
require.NoError(t, err)
|
||||
defer sw.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
rp := &remotePeer{PrivKey: ed25519.GenPrivKey(), Config: cfg}
|
||||
rp.Start()
|
||||
@@ -517,7 +560,12 @@ func TestSwitchFullConnectivity(t *testing.T) {
|
||||
switches := MakeConnectedSwitches(cfg, 3, initSwitchFunc, Connect2Switches)
|
||||
defer func() {
|
||||
for _, sw := range switches {
|
||||
sw.Stop()
|
||||
sw := sw
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -549,7 +597,11 @@ func TestSwitchAcceptRoutine(t *testing.T) {
|
||||
sw.AddUnconditionalPeerIDs(unconditionalPeerIDs)
|
||||
err := sw.Start()
|
||||
require.NoError(t, err)
|
||||
defer sw.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := sw.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
// 0. check there are no peers
|
||||
assert.Equal(t, 0, sw.Peers().Size())
|
||||
@@ -653,7 +705,8 @@ func TestSwitchAcceptRoutineErrorCases(t *testing.T) {
|
||||
assert.NotPanics(t, func() {
|
||||
err := sw.Start()
|
||||
assert.NoError(t, err)
|
||||
sw.Stop()
|
||||
err = sw.Stop()
|
||||
require.NoError(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -739,8 +792,18 @@ func BenchmarkSwitchBroadcast(b *testing.B) {
|
||||
}, false))
|
||||
return sw
|
||||
})
|
||||
defer s1.Stop()
|
||||
defer s2.Stop()
|
||||
|
||||
b.Cleanup(func() {
|
||||
if err := s1.Stop(); err != nil {
|
||||
b.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
b.Cleanup(func() {
|
||||
if err := s2.Stop(); err != nil {
|
||||
b.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
// Allow time for goroutines to boot up
|
||||
time.Sleep(1 * time.Second)
|
||||
|
||||
@@ -5,11 +5,13 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestTrustMetricScores(t *testing.T) {
|
||||
tm := NewMetric()
|
||||
tm.Start()
|
||||
err := tm.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
// Perfect score
|
||||
tm.GoodEvents(1)
|
||||
@@ -20,7 +22,8 @@ func TestTrustMetricScores(t *testing.T) {
|
||||
tm.BadEvents(10)
|
||||
score = tm.TrustScore()
|
||||
assert.NotEqual(t, 100, score)
|
||||
tm.Stop()
|
||||
err = tm.Stop()
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestTrustMetricConfig(t *testing.T) {
|
||||
@@ -32,7 +35,8 @@ func TestTrustMetricConfig(t *testing.T) {
|
||||
}
|
||||
|
||||
tm := NewMetricWithConfig(config)
|
||||
tm.Start()
|
||||
err := tm.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
// The max time intervals should be the TrackingWindow / IntervalLen
|
||||
assert.Equal(t, int(config.TrackingWindow/config.IntervalLength), tm.maxIntervals)
|
||||
@@ -41,18 +45,21 @@ func TestTrustMetricConfig(t *testing.T) {
|
||||
// These weights should still be the default values
|
||||
assert.Equal(t, dc.ProportionalWeight, tm.proportionalWeight)
|
||||
assert.Equal(t, dc.IntegralWeight, tm.integralWeight)
|
||||
tm.Stop()
|
||||
err = tm.Stop()
|
||||
require.NoError(t, err)
|
||||
tm.Wait()
|
||||
|
||||
config.ProportionalWeight = 0.3
|
||||
config.IntegralWeight = 0.7
|
||||
tm = NewMetricWithConfig(config)
|
||||
tm.Start()
|
||||
err = tm.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
// These weights should be equal to our custom values
|
||||
assert.Equal(t, config.ProportionalWeight, tm.proportionalWeight)
|
||||
assert.Equal(t, config.IntegralWeight, tm.integralWeight)
|
||||
tm.Stop()
|
||||
err = tm.Stop()
|
||||
require.NoError(t, err)
|
||||
tm.Wait()
|
||||
}
|
||||
|
||||
@@ -72,7 +79,8 @@ func _TestTrustMetricStopPause(t *testing.T) {
|
||||
tt := NewTestTicker()
|
||||
tm := NewMetric()
|
||||
tm.SetTicker(tt)
|
||||
tm.Start()
|
||||
err := tm.Start()
|
||||
require.NoError(t, err)
|
||||
// Allow some time intervals to pass and pause
|
||||
tt.NextTick()
|
||||
tt.NextTick()
|
||||
@@ -91,7 +99,8 @@ func _TestTrustMetricStopPause(t *testing.T) {
|
||||
// Allow some time intervals to pass and stop
|
||||
tt.NextTick()
|
||||
tt.NextTick()
|
||||
tm.Stop()
|
||||
err = tm.Stop()
|
||||
require.NoError(t, err)
|
||||
tm.Wait()
|
||||
|
||||
second := tm.Copy().numIntervals
|
||||
|
||||
+22
-11
@@ -31,7 +31,8 @@ func TestTrustMetricStoreSaveLoad(t *testing.T) {
|
||||
// Load the data from the file
|
||||
store = NewTrustMetricStore(historyDB, DefaultConfig())
|
||||
store.SetLogger(log.TestingLogger())
|
||||
store.Start()
|
||||
err = store.Start()
|
||||
require.NoError(t, err)
|
||||
// Make sure we still have 0 entries
|
||||
assert.Zero(t, store.Size())
|
||||
|
||||
@@ -48,7 +49,8 @@ func TestTrustMetricStoreSaveLoad(t *testing.T) {
|
||||
tm := NewMetric()
|
||||
|
||||
tm.SetTicker(tt[i])
|
||||
tm.Start()
|
||||
err = tm.Start()
|
||||
require.NoError(t, err)
|
||||
store.AddPeerTrustMetric(key, tm)
|
||||
|
||||
tm.BadEvents(10)
|
||||
@@ -62,12 +64,14 @@ func TestTrustMetricStoreSaveLoad(t *testing.T) {
|
||||
tt[i].NextTick()
|
||||
}
|
||||
// Stop all the trust metrics and save
|
||||
store.Stop()
|
||||
err = store.Stop()
|
||||
require.NoError(t, err)
|
||||
|
||||
// Load the data from the DB
|
||||
store = NewTrustMetricStore(historyDB, DefaultConfig())
|
||||
store.SetLogger(log.TestingLogger())
|
||||
store.Start()
|
||||
err = store.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
// Check that we still have 100 peers with imperfect trust values
|
||||
assert.Equal(t, 100, store.Size())
|
||||
@@ -75,7 +79,8 @@ func TestTrustMetricStoreSaveLoad(t *testing.T) {
|
||||
assert.NotEqual(t, 1.0, tm.TrustValue())
|
||||
}
|
||||
|
||||
store.Stop()
|
||||
err = store.Stop()
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestTrustMetricStoreConfig(t *testing.T) {
|
||||
@@ -90,7 +95,8 @@ func TestTrustMetricStoreConfig(t *testing.T) {
|
||||
// Create a store with custom config
|
||||
store := NewTrustMetricStore(historyDB, config)
|
||||
store.SetLogger(log.TestingLogger())
|
||||
store.Start()
|
||||
err = store.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
// Have the store make us a metric with the config
|
||||
tm := store.GetPeerTrustMetric("TestKey")
|
||||
@@ -98,7 +104,8 @@ func TestTrustMetricStoreConfig(t *testing.T) {
|
||||
// Check that the options made it to the metric
|
||||
assert.Equal(t, 0.5, tm.proportionalWeight)
|
||||
assert.Equal(t, 0.5, tm.integralWeight)
|
||||
store.Stop()
|
||||
err = store.Stop()
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestTrustMetricStoreLookup(t *testing.T) {
|
||||
@@ -107,7 +114,8 @@ func TestTrustMetricStoreLookup(t *testing.T) {
|
||||
|
||||
store := NewTrustMetricStore(historyDB, DefaultConfig())
|
||||
store.SetLogger(log.TestingLogger())
|
||||
store.Start()
|
||||
err = store.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
// Create 100 peers in the trust metric store
|
||||
for i := 0; i < 100; i++ {
|
||||
@@ -119,7 +127,8 @@ func TestTrustMetricStoreLookup(t *testing.T) {
|
||||
assert.NotNil(t, ktm, "Expected to find TrustMetric %s but wasn't there.", key)
|
||||
}
|
||||
|
||||
store.Stop()
|
||||
err = store.Stop()
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestTrustMetricStorePeerScore(t *testing.T) {
|
||||
@@ -128,7 +137,8 @@ func TestTrustMetricStorePeerScore(t *testing.T) {
|
||||
|
||||
store := NewTrustMetricStore(historyDB, DefaultConfig())
|
||||
store.SetLogger(log.TestingLogger())
|
||||
store.Start()
|
||||
err = store.Start()
|
||||
require.NoError(t, err)
|
||||
|
||||
key := "TestKey"
|
||||
tm := store.GetPeerTrustMetric(key)
|
||||
@@ -152,5 +162,6 @@ func TestTrustMetricStorePeerScore(t *testing.T) {
|
||||
// We will remember our experiences with this peer
|
||||
tm = store.GetPeerTrustMetric(key)
|
||||
assert.NotEqual(t, 100, tm.TrustScore())
|
||||
store.Stop()
|
||||
err = store.Stop()
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user