Browse Source

cleaned up tests

pull/4743/head
Callum 5 years ago
parent
commit
7a07abecc7
4 changed files with 16 additions and 0 deletions
  1. +10
    -0
      consensus/reactor_test.go
  2. +1
    -0
      state/helpers_test.go
  3. +2
    -0
      state/services.go
  4. +3
    -0
      state/validation.go

+ 10
- 0
consensus/reactor_test.go View File

@ -225,6 +225,16 @@ func (m *mockEvidencePool) Update(block *types.Block, state sm.State) {
m.height++ m.height++
} }
func (m *mockEvidencePool) IsCommitted(types.Evidence) bool { return false } func (m *mockEvidencePool) IsCommitted(types.Evidence) bool { return false }
func (m *mockEvidencePool) IsPending(evidence types.Evidence) bool {
if m.height > 0 {
for _, e := range m.ev {
if e.Equal(evidence) {
return true
}
}
}
return false
}
//------------------------------------ //------------------------------------


+ 1
- 0
state/helpers_test.go View File

@ -29,6 +29,7 @@ func (m mockEvPoolAlwaysCommitted) PendingEvidence(int64) []types.Evidence { ret
func (m mockEvPoolAlwaysCommitted) AddEvidence(types.Evidence) error { return nil } func (m mockEvPoolAlwaysCommitted) AddEvidence(types.Evidence) error { return nil }
func (m mockEvPoolAlwaysCommitted) Update(*types.Block, sm.State) {} func (m mockEvPoolAlwaysCommitted) Update(*types.Block, sm.State) {}
func (m mockEvPoolAlwaysCommitted) IsCommitted(types.Evidence) bool { return true } func (m mockEvPoolAlwaysCommitted) IsCommitted(types.Evidence) bool { return true }
func (m mockEvPoolAlwaysCommitted) IsPending(types.Evidence) bool { return false }
func newTestApp() proxy.AppConns { func newTestApp() proxy.AppConns {
app := &testApp{} app := &testApp{}


+ 2
- 0
state/services.go View File

@ -43,6 +43,7 @@ type EvidencePool interface {
Update(*types.Block, State) Update(*types.Block, State)
// IsCommitted indicates if this evidence was already marked committed in another block. // IsCommitted indicates if this evidence was already marked committed in another block.
IsCommitted(types.Evidence) bool IsCommitted(types.Evidence) bool
IsPending(types.Evidence) bool
} }
// MockEvidencePool is an empty implementation of EvidencePool, useful for testing. // MockEvidencePool is an empty implementation of EvidencePool, useful for testing.
@ -52,3 +53,4 @@ func (m MockEvidencePool) PendingEvidence(int64) []types.Evidence { return nil }
func (m MockEvidencePool) AddEvidence(types.Evidence) error { return nil } func (m MockEvidencePool) AddEvidence(types.Evidence) error { return nil }
func (m MockEvidencePool) Update(*types.Block, State) {} func (m MockEvidencePool) Update(*types.Block, State) {}
func (m MockEvidencePool) IsCommitted(types.Evidence) bool { return false } func (m MockEvidencePool) IsCommitted(types.Evidence) bool { return false }
func (m MockEvidencePool) IsPending(types.Evidence) bool { return false }

+ 3
- 0
state/validation.go View File

@ -136,6 +136,9 @@ func validateBlock(evidencePool EvidencePool, stateDB dbm.DB, state State, block
if evidencePool.IsCommitted(ev) { if evidencePool.IsCommitted(ev) {
return types.NewErrEvidenceInvalid(ev, errors.New("evidence was already committed")) return types.NewErrEvidenceInvalid(ev, errors.New("evidence was already committed"))
} }
if evidencePool.IsPending(ev) {
return nil
}
} }
if err := VerifyEvidence(stateDB, state, ev, &block.Header); err != nil { if err := VerifyEvidence(stateDB, state, ev, &block.Header); err != nil {
return types.NewErrEvidenceInvalid(ev, err) return types.NewErrEvidenceInvalid(ev, err)


Loading…
Cancel
Save