tendermint/consensus/test.go

48 lines
1.6 KiB
Go
Raw Normal View History

2014-10-17 16:48:27 -07:00
package consensus
import (
2014-12-17 01:37:13 -08:00
"sort"
. "github.com/tendermint/tendermint/block"
db_ "github.com/tendermint/tendermint/db"
mempool_ "github.com/tendermint/tendermint/mempool"
2014-10-17 16:48:27 -07:00
"github.com/tendermint/tendermint/state"
)
2014-10-18 01:42:33 -07:00
// Common test methods
2014-12-17 01:37:13 -08:00
func makeValidator(votingPower uint64) (*state.Validator, *state.PrivValidator) {
privValidator := state.GenPrivValidator()
2014-10-17 16:48:27 -07:00
return &state.Validator{
Address: privValidator.Address,
PubKey: privValidator.PubKey,
BondHeight: 0,
UnbondHeight: 0,
LastCommitHeight: 0,
VotingPower: votingPower,
Accum: 0,
}, privValidator
2014-10-17 16:48:27 -07:00
}
2014-12-17 01:37:13 -08:00
func makeVoteSet(height uint, round uint, type_ byte, numValidators int, votingPower uint64) (*VoteSet, *state.ValidatorSet, []*state.PrivValidator) {
2014-10-17 16:48:27 -07:00
vals := make([]*state.Validator, numValidators)
2014-12-17 01:37:13 -08:00
privValidators := make([]*state.PrivValidator, numValidators)
2014-10-17 16:48:27 -07:00
for i := 0; i < numValidators; i++ {
val, privValidator := makeValidator(votingPower)
2014-10-17 16:48:27 -07:00
vals[i] = val
privValidators[i] = privValidator
2014-10-17 16:48:27 -07:00
}
valSet := state.NewValidatorSet(vals)
2014-12-17 01:37:13 -08:00
sort.Sort(state.PrivValidatorsByAddress(privValidators))
return NewVoteSet(height, round, type_, valSet), valSet, privValidators
2014-10-17 16:48:27 -07:00
}
2014-12-17 01:37:13 -08:00
func makeConsensusState() (*ConsensusState, []*state.PrivValidator) {
state, _, privValidators := state.RandGenesisState(20, false, 1000, 10, false, 1000)
blockStore := NewBlockStore(db_.NewMemDB())
mempool := mempool_.NewMempool(state)
mempoolReactor := mempool_.NewMempoolReactor(mempool)
cs := NewConsensusState(state, blockStore, mempoolReactor)
return cs, privValidators
}