diff --git a/consensus/reactor_test.go b/consensus/reactor_test.go index 41bddbd6..2758f3fa 100644 --- a/consensus/reactor_test.go +++ b/consensus/reactor_test.go @@ -11,6 +11,9 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/tendermint/tendermint/abci/client" "github.com/tendermint/tendermint/abci/example/kvstore" abci "github.com/tendermint/tendermint/abci/types" @@ -22,9 +25,6 @@ import ( "github.com/tendermint/tendermint/p2p" sm "github.com/tendermint/tendermint/state" "github.com/tendermint/tendermint/types" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func init() { @@ -97,6 +97,9 @@ func TestReactorBasic(t *testing.T) { // Ensure we can process blocks with evidence func TestReactorWithEvidence(t *testing.T) { + types.RegisterMockEvidences(cdc) + types.RegisterMockEvidences(types.GetCodec()) + nValidators := 4 testName := "consensus_reactor_test" tickerFunc := newMockTickerFunc(true) diff --git a/consensus/types/wire.go b/consensus/types/wire.go index db674816..e8a05b35 100644 --- a/consensus/types/wire.go +++ b/consensus/types/wire.go @@ -1,7 +1,7 @@ package types import ( - "github.com/tendermint/go-amino" + amino "github.com/tendermint/go-amino" "github.com/tendermint/tendermint/types" ) diff --git a/evidence/pool_test.go b/evidence/pool_test.go index 159ae7cd..c3ed569e 100644 --- a/evidence/pool_test.go +++ b/evidence/pool_test.go @@ -1,6 +1,7 @@ package evidence import ( + "os" "sync" "testing" @@ -14,6 +15,13 @@ import ( var mockState = sm.State{} +func TestMain(m *testing.M) { + types.RegisterMockEvidences(cdc) + + code := m.Run() + os.Exit(code) +} + func initializeValidatorState(valAddr []byte, height int64) dbm.DB { stateDB := dbm.NewMemDB() diff --git a/evidence/reactor_test.go b/evidence/reactor_test.go index 23fd008a..ea9657d2 100644 --- a/evidence/reactor_test.go +++ b/evidence/reactor_test.go @@ -6,14 +6,12 @@ import ( "testing" "time" + "github.com/go-kit/kit/log/term" "github.com/stretchr/testify/assert" - "github.com/go-kit/kit/log/term" - + cfg "github.com/tendermint/tendermint/config" dbm "github.com/tendermint/tendermint/libs/db" "github.com/tendermint/tendermint/libs/log" - - cfg "github.com/tendermint/tendermint/config" "github.com/tendermint/tendermint/p2p" "github.com/tendermint/tendermint/types" ) diff --git a/types/block_test.go b/types/block_test.go index 43366a63..887f35a1 100644 --- a/types/block_test.go +++ b/types/block_test.go @@ -3,6 +3,7 @@ package types import ( "crypto/rand" "math" + "os" "testing" "time" @@ -13,6 +14,13 @@ import ( cmn "github.com/tendermint/tendermint/libs/common" ) +func TestMain(m *testing.M) { + RegisterMockEvidences(cdc) + + code := m.Run() + os.Exit(code) +} + func TestBlockAddEvidence(t *testing.T) { txs := []Tx{Tx("foo"), Tx("bar")} lastID := makeBlockIDRandom() diff --git a/types/evidence.go b/types/evidence.go index 836a1a59..241e0939 100644 --- a/types/evidence.go +++ b/types/evidence.go @@ -46,8 +46,9 @@ type Evidence interface { func RegisterEvidences(cdc *amino.Codec) { cdc.RegisterInterface((*Evidence)(nil), nil) cdc.RegisterConcrete(&DuplicateVoteEvidence{}, "tendermint/DuplicateVoteEvidence", nil) +} - // mocks +func RegisterMockEvidences(cdc *amino.Codec) { cdc.RegisterConcrete(MockGoodEvidence{}, "tendermint/MockGoodEvidence", nil) cdc.RegisterConcrete(MockBadEvidence{}, "tendermint/MockBadEvidence", nil) } diff --git a/types/wire.go b/types/wire.go index c5608998..f3c314fa 100644 --- a/types/wire.go +++ b/types/wire.go @@ -1,7 +1,7 @@ package types import ( - "github.com/tendermint/go-amino" + amino "github.com/tendermint/go-amino" "github.com/tendermint/tendermint/crypto/encoding/amino" ) @@ -15,3 +15,8 @@ func RegisterBlockAmino(cdc *amino.Codec) { cryptoAmino.RegisterAmino(cdc) RegisterEvidences(cdc) } + +// GetCodec returns a codec used by the package. For testing purposes only. +func GetCodec() *amino.Codec { + return cdc +}