From c7e358922b2e3fd3ba3aa0cad7715792eee1797b Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Fri, 6 Jun 2014 14:35:40 -0700 Subject: [PATCH] raft: add elaspe reset test --- raft/node_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/raft/node_test.go b/raft/node_test.go index 28f620d5a..fa6367216 100644 --- a/raft/node_test.go +++ b/raft/node_test.go @@ -57,3 +57,30 @@ func TestTickMsgBeat(t *testing.T) { t.Errorf("called = %v, want %v", called, w) } } + +func TestResetElapse(t *testing.T) { + tests := []struct { + msg Message + welapsed tick + }{ + {Message{From: 0, To: 1, Type: msgApp, Term: 2, Entries: []Entry{{Term: 1}}}, 0}, + {Message{From: 0, To: 1, Type: msgApp, Term: 1, Entries: []Entry{{Term: 1}}}, 1}, + {Message{From: 0, To: 1, Type: msgVote, Term: 2}, 0}, + {Message{From: 0, To: 1, Type: msgVote, Term: 1}, 1}, + } + + for i, tt := range tests { + n := New(3, 1, defaultHeartbeat, defaultElection) + n.sm.term = 2 + + n.Tick() + if n.elapsed != 1 { + t.Errorf("%d: elpased = %d, want %d", i, n.elapsed, 1) + } + + n.Step(tt.msg) + if n.elapsed != tt.welapsed { + t.Errorf("%d: elpased = %d, want %d", i, n.elapsed, tt.welapsed) + } + } +}