made ValidatorSet.Hash deterministic; fix off-by-1 bugs

This commit is contained in:
Jae Kwon
2014-11-05 03:08:29 -08:00
parent a0cc186c75
commit 8718bd52a4
13 changed files with 207 additions and 100 deletions

View File

@ -145,11 +145,8 @@ func TestGenesisSaveLoad(t *testing.T) {
if s0.BondedValidators.TotalVotingPower() != s1.BondedValidators.TotalVotingPower() {
t.Error("BondedValidators TotalVotingPower mismatch")
}
if bytes.Equal(s0.BondedValidators.Hash(), s1.BondedValidators.Hash()) {
// The BondedValidators hash should have changed because
// each AppendBlock() calls IncrementAccum(),
// changing each validator's Accum.
t.Error("BondedValidators hash should have changed")
if !bytes.Equal(s0.BondedValidators.Hash(), s1.BondedValidators.Hash()) {
t.Error("BondedValidators hash mismatch")
}
if s0.UnbondingValidators.Size() != s1.UnbondingValidators.Size() {
t.Error("UnbondingValidators Size mismatch")