diff options
author | Mission Liao <mission.liao@dexon.org> | 2018-12-06 14:30:05 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-06 14:30:05 +0800 |
commit | 41753e517c68575589c485b3f9570db94e59bcd0 (patch) | |
tree | 88ca8e57415164bce765658f3f55d51e85646eb3 /core | |
parent | 4eb02f1dd96e136b0f7cf7eff792da1e44176713 (diff) | |
download | dexon-consensus-41753e517c68575589c485b3f9570db94e59bcd0.tar.gz dexon-consensus-41753e517c68575589c485b3f9570db94e59bcd0.tar.zst dexon-consensus-41753e517c68575589c485b3f9570db94e59bcd0.zip |
test: allow to log in test.State (#359)
Diffstat (limited to 'core')
-rw-r--r-- | core/compaction-chain_test.go | 4 | ||||
-rw-r--r-- | core/configuration-chain_test.go | 3 | ||||
-rw-r--r-- | core/consensus_test.go | 15 | ||||
-rw-r--r-- | core/dkg-tsig-protocol_test.go | 24 | ||||
-rw-r--r-- | core/lattice_test.go | 6 | ||||
-rw-r--r-- | core/test/governance.go | 9 | ||||
-rw-r--r-- | core/test/governance_test.go | 10 | ||||
-rw-r--r-- | core/test/network_test.go | 3 | ||||
-rw-r--r-- | core/test/state-change-request.go | 58 | ||||
-rw-r--r-- | core/test/state.go | 25 | ||||
-rw-r--r-- | core/test/state_test.go | 15 |
11 files changed, 120 insertions, 52 deletions
diff --git a/core/compaction-chain_test.go b/core/compaction-chain_test.go index 2e2d518..e944e4d 100644 --- a/core/compaction-chain_test.go +++ b/core/compaction-chain_test.go @@ -59,8 +59,8 @@ func (s *CompactionChainTestSuite) newCompactionChain() ( *compactionChain, *mockTSigVerifier) { _, pubKeys, err := test.NewKeys(4) s.Require().NoError(err) - gov, err := test.NewGovernance( - pubKeys, 100*time.Millisecond, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100*time.Millisecond, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) cc := newCompactionChain(gov) cc.init(&types.Block{}) diff --git a/core/configuration-chain_test.go b/core/configuration-chain_test.go index 281be06..3a7f729 100644 --- a/core/configuration-chain_test.go +++ b/core/configuration-chain_test.go @@ -173,7 +173,8 @@ func (s *ConfigurationChainTestSuite) runDKG( } for _, nID := range s.nIDs { - gov, err := test.NewGovernance(pks, 50*time.Millisecond, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pks, 50*time.Millisecond, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) cache := utils.NewNodeSetCache(gov) cfgChains[nID] = newConfigurationChain( diff --git a/core/consensus_test.go b/core/consensus_test.go index 7d9c653..5819cc2 100644 --- a/core/consensus_test.go +++ b/core/consensus_test.go @@ -220,7 +220,8 @@ func (s *ConsensusTestSuite) TestSimpleDeliverBlock() { ) prvKeys, pubKeys, err := test.NewKeys(4) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, time.Second, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, time.Second, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) minInterval := gov.Configuration(0).MinBlockInterval // Setup core.Consensus and test.App. @@ -442,7 +443,8 @@ func (s *ConsensusTestSuite) TestPrepareBlock() { ) prvKeys, pubKeys, err := test.NewKeys(4) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, time.Second, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, time.Second, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) dMoment := time.Now().UTC() // Setup core.Consensus and test.App. @@ -485,7 +487,8 @@ func (s *ConsensusTestSuite) TestPrepareGenesisBlock() { conn := s.newNetworkConnection() prvKeys, pubKeys, err := test.NewKeys(4) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, time.Second, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, time.Second, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) prvKey := prvKeys[0] _, con := s.prepareConsensus(time.Now().UTC(), gov, prvKey, conn) @@ -508,7 +511,8 @@ func (s *ConsensusTestSuite) TestDKGCRS() { conn := s.newNetworkConnection() prvKeys, pubKeys, err := test.NewKeys(n) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, lambda, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, lambda, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) gov.State().RequestChange(test.StateChangeRoundInterval, 200*lambda) cons := map[types.NodeID]*Consensus{} @@ -549,7 +553,8 @@ func (s *ConsensusTestSuite) TestSyncBA() { conn := s.newNetworkConnection() prvKeys, pubKeys, err := test.NewKeys(4) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, lambdaBA, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, lambdaBA, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) prvKey := prvKeys[0] _, con := s.prepareConsensus(time.Now().UTC(), gov, prvKey, conn) diff --git a/core/dkg-tsig-protocol_test.go b/core/dkg-tsig-protocol_test.go index 282dc0f..4594ccd 100644 --- a/core/dkg-tsig-protocol_test.go +++ b/core/dkg-tsig-protocol_test.go @@ -142,7 +142,8 @@ func (s *DKGTSIGProtocolTestSuite) TestDKGTSIGProtocol() { round := uint64(1) _, pubKeys, err := test.NewKeys(5) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, 100, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) receivers, protocols := s.newProtocols(k, n, round) @@ -247,7 +248,8 @@ func (s *DKGTSIGProtocolTestSuite) TestNackComplaint() { round := uint64(1) _, pubKeys, err := test.NewKeys(5) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, 100, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) receivers, protocols := s.newProtocols(k, n, round) @@ -293,7 +295,8 @@ func (s *DKGTSIGProtocolTestSuite) TestComplaint() { round := uint64(1) _, pubKeys, err := test.NewKeys(5) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, 100, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) receivers, protocols := s.newProtocols(k, n, round) @@ -358,7 +361,8 @@ func (s *DKGTSIGProtocolTestSuite) TestAntiComplaint() { round := uint64(1) _, pubKeys, err := test.NewKeys(5) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, 100, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) receivers, protocols := s.newProtocols(k, n, round) @@ -415,7 +419,8 @@ func (s *DKGTSIGProtocolTestSuite) TestEncorceNackComplaint() { round := uint64(1) _, pubKeys, err := test.NewKeys(5) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, 100, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) receivers, protocols := s.newProtocols(k, n, round) @@ -469,7 +474,8 @@ func (s *DKGTSIGProtocolTestSuite) TestQualifyIDs() { round := uint64(1) _, pubKeys, err := test.NewKeys(5) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, 100, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) receivers, _ := s.newProtocols(k, n, round) @@ -534,7 +540,8 @@ func (s *DKGTSIGProtocolTestSuite) TestPartialSignature() { round := uint64(1) _, pubKeys, err := test.NewKeys(5) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, 100, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) receivers, protocols := s.newProtocols(k, n, round) @@ -656,7 +663,8 @@ func (s *DKGTSIGProtocolTestSuite) TestTSigVerifierCache() { n := 10 _, pubKeys, err := test.NewKeys(n) s.Require().NoError(err) - gov, err := test.NewGovernance(pubKeys, 100, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, 100, &common.NullLogger{}, true), ConfigRoundShift) s.Require().NoError(err) gov.CatchUpWithRound(10) for i := 0; i < 10; i++ { diff --git a/core/lattice_test.go b/core/lattice_test.go index 42b8e06..eecaf74 100644 --- a/core/lattice_test.go +++ b/core/lattice_test.go @@ -102,9 +102,11 @@ func (s *LatticeTestSuite) newTestLatticeMgr( db, err := blockdb.NewMemBackedBlockDB() req.NoError(err) // Setup governance. + logger := &common.NullLogger{} _, pubKeys, err := test.NewKeys(int(cfg.NotarySetSize)) req.NoError(err) - gov, err := test.NewGovernance(pubKeys, cfg.LambdaBA, ConfigRoundShift) + gov, err := test.NewGovernance(test.NewState( + pubKeys, cfg.LambdaBA, logger, true), ConfigRoundShift) req.NoError(err) // Setup application. app := test.NewApp(gov.State()) @@ -128,7 +130,7 @@ func (s *LatticeTestSuite) newTestLatticeMgr( app, app, db, - &common.NullLogger{})} + logger)} } func (s *LatticeTestSuite) TestBasicUsage() { diff --git a/core/test/governance.go b/core/test/governance.go index 14c8177..9bb042e 100644 --- a/core/test/governance.go +++ b/core/test/governance.go @@ -24,7 +24,6 @@ import ( "reflect" "sort" "sync" - "time" "github.com/dexon-foundation/dexon-consensus/common" "github.com/dexon-foundation/dexon-consensus/core/crypto" @@ -48,16 +47,12 @@ type Governance struct { } // NewGovernance constructs a Governance instance. -func NewGovernance(genesisNodes []crypto.PublicKey, lambda time.Duration, - roundShift uint64) (g *Governance, err error) { +func NewGovernance(state *State, roundShift uint64) (g *Governance, err error) { // Setup a State instance. - // TODO(mission): it's not a good idea to embed initialization of one - // public class in another, I did this to make the range of - // modification smaller. g = &Governance{ roundShift: roundShift, pendingConfigChanges: make(map[uint64]map[StateChangeType]interface{}), - stateModule: NewState(genesisNodes, lambda, true), + stateModule: state, } return } diff --git a/core/test/governance_test.go b/core/test/governance_test.go index 01993f9..30f1469 100644 --- a/core/test/governance_test.go +++ b/core/test/governance_test.go @@ -21,6 +21,7 @@ import ( "testing" "time" + "github.com/dexon-foundation/dexon-consensus/common" "github.com/stretchr/testify/suite" ) @@ -33,10 +34,12 @@ func (s *GovernanceTestSuite) TestEqual() { // Setup a base governance. _, genesisNodes, err := NewKeys(20) req.NoError(err) - g1, err := NewGovernance(genesisNodes, 100*time.Millisecond, 2) + g1, err := NewGovernance(NewState( + genesisNodes, 100*time.Millisecond, &common.NullLogger{}, true), 2) req.NoError(err) // Create a governance with different lambda. - g2, err := NewGovernance(genesisNodes, 50*time.Millisecond, 2) + g2, err := NewGovernance(NewState( + genesisNodes, 50*time.Millisecond, &common.NullLogger{}, true), 2) req.NoError(err) req.False(g1.Equal(g2, true)) // Create configs for 3 rounds for g1. @@ -68,7 +71,8 @@ func (s *GovernanceTestSuite) TestRegisterChange() { req := s.Require() _, genesisNodes, err := NewKeys(20) req.NoError(err) - g, err := NewGovernance(genesisNodes, 100*time.Millisecond, 2) + g, err := NewGovernance(NewState( + genesisNodes, 100*time.Millisecond, &common.NullLogger{}, true), 2) req.NoError(err) // Unable to register change for genesis round. req.Error(g.RegisterConfigChange(0, StateChangeNumChains, uint32(32))) diff --git a/core/test/network_test.go b/core/test/network_test.go index 1f9ec6f..e05dec5 100644 --- a/core/test/network_test.go +++ b/core/test/network_test.go @@ -253,7 +253,8 @@ func (s *NetworkTestSuite) TestBroadcastToSet() { ) _, pubKeys, err := NewKeys(peerCount) req.NoError(err) - gov, err := NewGovernance(pubKeys, time.Second, 2) + gov, err := NewGovernance(NewState( + pubKeys, time.Second, &common.NullLogger{}, true), 2) req.NoError(err) req.NoError(gov.State().RequestChange(StateChangeDKGSetSize, uint32(1))) req.NoError(gov.State().RequestChange(StateChangeNotarySetSize, uint32(1))) diff --git a/core/test/state-change-request.go b/core/test/state-change-request.go index 0f49db0..84d4d3f 100644 --- a/core/test/state-change-request.go +++ b/core/test/state-change-request.go @@ -18,10 +18,13 @@ package test import ( + "fmt" + "math" "time" "github.com/dexon-foundation/dexon-consensus/common" "github.com/dexon-foundation/dexon-consensus/core/crypto" + "github.com/dexon-foundation/dexon-consensus/core/types" typesDKG "github.com/dexon-foundation/dexon-consensus/core/types/dkg" "github.com/dexon-foundation/dexon/rlp" ) @@ -43,7 +46,6 @@ const ( StateChangeLambdaDKG StateChangeRoundInterval StateChangeMinBlockInterval - StateChangeMaxBlockInterval StateChangeK StateChangePhiRatio StateChangeNotarySetSize @@ -133,3 +135,57 @@ func (req *StateChangeRequest) Equal(other *StateChangeRequest) error { } return ErrStatePendingChangesNotEqual } + +// String dump the state change request into string form. +func (req *StateChangeRequest) String() (ret string) { + ret = "stateChangeRequest" + switch req.Type { + case StateChangeNothing: + ret += "{Type:Nothing}" + case StateAddCRS: + crsReq := req.Payload.(*crsAdditionRequest) + ret += fmt.Sprintf("{Type:AddCRS Round:%v CRS:%s", + crsReq.Round, + crsReq.CRS.String()[:6]) + case StateAddDKGComplaint: + ret += fmt.Sprintf( + "{Type:AddDKGComplaint %s", req.Payload.(*typesDKG.Complaint)) + case StateAddDKGMasterPublicKey: + ret += fmt.Sprintf( + "{Type:AddDKGMasterPublicKey %s", + req.Payload.(*typesDKG.MasterPublicKey)) + case StateAddDKGFinal: + ret += fmt.Sprintf( + "{Type:AddDKGFinal %s", req.Payload.(*typesDKG.Finalize)) + case StateChangeNumChains: + ret += fmt.Sprintf("{Type:ChangeNumChains %v", req.Payload.(uint32)) + case StateChangeLambdaBA: + ret += fmt.Sprintf( + "{Type:ChangeLambdaBA %v", time.Duration(req.Payload.(uint64))) + case StateChangeLambdaDKG: + ret += fmt.Sprintf( + "{Type:ChangeLambdaDKG %v", time.Duration(req.Payload.(uint64))) + case StateChangeRoundInterval: + ret += fmt.Sprintf( + "{Type:ChangeRoundInterval %v", time.Duration(req.Payload.(uint64))) + case StateChangeMinBlockInterval: + ret += fmt.Sprintf( + "{Type:ChangeMinBlockInterval %v", + time.Duration(req.Payload.(uint64))) + case StateChangeK: + ret += fmt.Sprintf("Type:ChangeK %v", req.Payload.(uint64)) + case StateChangePhiRatio: + ret += fmt.Sprintf( + "{Type:ChangePhiRatio %v", math.Float32frombits(req.Payload.(uint32))) + case StateChangeNotarySetSize: + ret += fmt.Sprintf("{Type:ChangeNotarySetSize %v", req.Payload.(uint32)) + case StateChangeDKGSetSize: + ret += fmt.Sprintf("{Type:ChangeDKGSetSize %v", req.Payload.(uint32)) + case StateAddNode: + ret += fmt.Sprintf( + "{Type:AddNode %s", + types.NewNodeID(req.Payload.(crypto.PublicKey)).String()[:6]) + } + panic(fmt.Errorf( + "attempting to dump unknown type of state change request: %v", req.Type)) +} diff --git a/core/test/state.go b/core/test/state.go index b39bafe..b360fa2 100644 --- a/core/test/state.go +++ b/core/test/state.go @@ -90,7 +90,6 @@ type State struct { dkgSetSize uint32 roundInterval time.Duration minBlockInterval time.Duration - maxBlockInterval time.Duration // Nodes nodes map[types.NodeID]crypto.PublicKey // DKG & CRS @@ -100,6 +99,7 @@ type State struct { crs []common.Hash // Other stuffs local bool + logger common.Logger lock sync.RWMutex appliedRequests map[common.Hash]struct{} // Pending change requests. @@ -111,7 +111,10 @@ type State struct { // - node set // - crs func NewState( - nodePubKeys []crypto.PublicKey, lambda time.Duration, local bool) *State { + nodePubKeys []crypto.PublicKey, + lambda time.Duration, + logger common.Logger, + local bool) *State { nodes := make(map[types.NodeID]crypto.PublicKey) for _, key := range nodePubKeys { nodes[types.NewNodeID(key)] = key @@ -119,12 +122,12 @@ func NewState( genesisCRS := crypto.Keccak256Hash([]byte("__ DEXON")) return &State{ local: local, + logger: logger, numChains: uint32(len(nodes)), lambdaBA: lambda, lambdaDKG: lambda * 10, roundInterval: lambda * 10000, minBlockInterval: time.Millisecond * 1, - maxBlockInterval: lambda * 8, crs: []common.Hash{genesisCRS}, nodes: nodes, phiRatio: 0.667, @@ -209,10 +212,6 @@ func (s *State) unpackPayload( var tmp uint64 err = rlp.DecodeBytes(raw.Payload, &tmp) v = tmp - case StateChangeMaxBlockInterval: - var tmp uint64 - err = rlp.DecodeBytes(raw.Payload, &tmp) - v = tmp case StateChangeK: var tmp uint64 err = rlp.DecodeBytes(raw.Payload, &tmp) @@ -275,8 +274,7 @@ func (s *State) Equal(other *State) error { s.notarySetSize == other.notarySetSize && s.dkgSetSize == other.dkgSetSize && s.roundInterval == other.roundInterval && - s.minBlockInterval == other.minBlockInterval && - s.maxBlockInterval == other.maxBlockInterval + s.minBlockInterval == other.minBlockInterval if !configEqual { return ErrStateConfigNotEqual } @@ -418,8 +416,8 @@ func (s *State) Clone() (copied *State) { dkgSetSize: s.dkgSetSize, roundInterval: s.roundInterval, minBlockInterval: s.minBlockInterval, - maxBlockInterval: s.maxBlockInterval, local: s.local, + logger: s.logger, nodes: make(map[types.NodeID]crypto.PublicKey), dkgComplaints: make( map[uint64]map[types.NodeID][]*typesDKG.Complaint), @@ -496,6 +494,7 @@ func (s *State) Apply(reqsAsBytes []byte) (err error) { s.lock.Lock() defer s.lock.Unlock() for _, req := range reqs { + s.logger.Debug("Apply Request", "req", req) // Remove this request from pending set once it's about to apply. delete(s.globalRequests, req.Hash) delete(s.ownRequests, req.Hash) @@ -549,6 +548,7 @@ func (s *State) PackRequests() (b []byte, err error) { s.lock.Lock() defer s.lock.Unlock() for _, v := range s.globalRequests { + s.logger.Debug("Pack Request", "req", v) packed = append(packed, v) } return rlp.EncodeToBytes(packed) @@ -667,8 +667,6 @@ func (s *State) applyRequest(req *StateChangeRequest) error { s.roundInterval = time.Duration(req.Payload.(uint64)) case StateChangeMinBlockInterval: s.minBlockInterval = time.Duration(req.Payload.(uint64)) - case StateChangeMaxBlockInterval: - s.maxBlockInterval = time.Duration(req.Payload.(uint64)) case StateChangeK: s.k = int(req.Payload.(uint64)) case StateChangePhiRatio: @@ -702,8 +700,7 @@ func (s *State) RequestChange( case StateChangeLambdaBA, StateChangeLambdaDKG, StateChangeRoundInterval, - StateChangeMinBlockInterval, - StateChangeMaxBlockInterval: + StateChangeMinBlockInterval: payload = uint64(payload.(time.Duration)) case StateChangeK: payload = uint64(payload.(int)) diff --git a/core/test/state_test.go b/core/test/state_test.go index 864b5be..9daee3a 100644 --- a/core/test/state_test.go +++ b/core/test/state_test.go @@ -132,7 +132,6 @@ func (s *StateTestSuite) makeConfigChanges(st *State) { st.RequestChange(StateChangeLambdaDKG, time.Millisecond) st.RequestChange(StateChangeRoundInterval, time.Hour) st.RequestChange(StateChangeMinBlockInterval, time.Second) - st.RequestChange(StateChangeMaxBlockInterval, time.Minute) st.RequestChange(StateChangeK, 1) st.RequestChange(StateChangePhiRatio, float32(0.5)) st.RequestChange(StateChangeNotarySetSize, uint32(5)) @@ -159,10 +158,10 @@ func (s *StateTestSuite) TestEqual() { ) _, genesisNodes, err := NewKeys(20) req.NoError(err) - st := NewState(genesisNodes, lambda, true) + st := NewState(genesisNodes, lambda, &common.NullLogger{}, true) req.NoError(st.Equal(st)) // One node is missing. - st1 := NewState(genesisNodes, lambda, true) + st1 := NewState(genesisNodes, lambda, &common.NullLogger{}, true) for nID := range st1.nodes { delete(st1.nodes, nID) break @@ -216,7 +215,7 @@ func (s *StateTestSuite) TestPendingChangesEqual() { // Setup a non-local mode State instance. _, genesisNodes, err := NewKeys(20) req.NoError(err) - st := NewState(genesisNodes, lambda, false) + st := NewState(genesisNodes, lambda, &common.NullLogger{}, false) req.NoError(st.Equal(st)) // Apply some changes. s.makeConfigChanges(st) @@ -236,7 +235,7 @@ func (s *StateTestSuite) TestLocalMode() { ) _, genesisNodes, err := NewKeys(20) req.NoError(err) - st := NewState(genesisNodes, lambda, true) + st := NewState(genesisNodes, lambda, &common.NullLogger{}, true) config1, nodes1 := st.Snapshot() req.True(s.compareNodes(genesisNodes, nodes1)) // Check settings of config1 affected by genesisNodes and lambda. @@ -296,7 +295,7 @@ func (s *StateTestSuite) TestPacking() { // Make config changes. _, genesisNodes, err := NewKeys(20) req.NoError(err) - st := NewState(genesisNodes, lambda, false) + st := NewState(genesisNodes, lambda, &common.NullLogger{}, false) s.makeConfigChanges(st) // Add new CRS. crs := common.NewRandomHash() @@ -357,8 +356,8 @@ func (s *StateTestSuite) TestRequestBroadcastAndPack() { ) _, genesisNodes, err := NewKeys(20) req.NoError(err) - st := NewState(genesisNodes, lambda, false) - st1 := NewState(genesisNodes, lambda, false) + st := NewState(genesisNodes, lambda, &common.NullLogger{}, false) + st1 := NewState(genesisNodes, lambda, &common.NullLogger{}, false) req.NoError(st.Equal(st1)) // Make configuration changes. s.makeConfigChanges(st) |