Merge pull request #1485 from jonboulle/raft_clean

raft: move test helper function into tests
This commit is contained in:
Jonathan Boulle 2014-10-29 14:06:39 -07:00
commit f7631be453
3 changed files with 22 additions and 22 deletions

View File

@ -333,13 +333,6 @@ func (r *raft) becomeLeader() {
r.appendEntry(pb.Entry{Data: nil})
}
func (r *raft) ReadMessages() []pb.Message {
msgs := r.msgs
r.msgs = make([]pb.Message, 0)
return msgs
}
func (r *raft) campaign() {
r.becomeCandidate()
if r.q() == r.poll(r.id, true) {

View File

@ -63,7 +63,7 @@ func TestLeaderBcastBeat(t *testing.T) {
r.tick()
}
msgs := r.ReadMessages()
msgs := r.readMessages()
sort.Sort(messageSlice(msgs))
wmsgs := []pb.Message{
{From: 1, To: 2, Term: 1, Type: pb.MsgApp},
@ -115,7 +115,7 @@ func testNonleaderStartElection(t *testing.T, state StateType) {
if r.votes[r.id] != true {
t.Errorf("vote for self = false, want true")
}
msgs := r.ReadMessages()
msgs := r.readMessages()
sort.Sort(messageSlice(msgs))
wmsgs := []pb.Message{
{From: 1, To: 2, Term: 2, Type: pb.MsgVote},
@ -197,7 +197,7 @@ func TestFollowerVote(t *testing.T) {
r.Step(pb.Message{From: tt.nvote, To: 1, Term: 1, Type: pb.MsgVote})
msgs := r.ReadMessages()
msgs := r.readMessages()
wmsgs := []pb.Message{
{From: 1, To: tt.nvote, Term: 1, Type: pb.MsgVoteResp, Reject: tt.wreject},
}
@ -258,7 +258,7 @@ func testNonleaderElectionTimeoutRandomized(t *testing.T, state StateType) {
}
time := 0
for len(r.ReadMessages()) == 0 {
for len(r.readMessages()) == 0 {
r.tick()
time++
}
@ -306,7 +306,7 @@ func testNonleadersElectionTimeoutNonconflict(t *testing.T, state StateType) {
for timeoutNum == 0 {
for _, r := range rs {
r.tick()
if len(r.ReadMessages()) > 0 {
if len(r.readMessages()) > 0 {
timeoutNum++
}
}

View File

@ -37,7 +37,14 @@ func nextEnts(r *raft) (ents []pb.Entry) {
type Interface interface {
Step(m pb.Message) error
ReadMessages() []pb.Message
readMessages() []pb.Message
}
func (r *raft) readMessages() []pb.Message {
msgs := r.msgs
r.msgs = make([]pb.Message, 0)
return msgs
}
func TestLeaderElection(t *testing.T) {
@ -602,7 +609,7 @@ func TestHandleMsgApp(t *testing.T) {
if sm.raftLog.committed != tt.wCommit {
t.Errorf("#%d: committed = %d, want %d", i, sm.raftLog.committed, tt.wCommit)
}
m := sm.ReadMessages()
m := sm.readMessages()
if len(m) != 1 {
t.Fatalf("#%d: msg = nil, want 1", i)
}
@ -662,7 +669,7 @@ func TestRecvMsgVote(t *testing.T) {
sm.Step(pb.Message{Type: pb.MsgVote, From: 2, Index: tt.i, LogTerm: tt.term})
msgs := sm.ReadMessages()
msgs := sm.readMessages()
if g := len(msgs); g != 1 {
t.Fatalf("#%d: len(msgs) = %d, want 1", i, g)
continue
@ -803,7 +810,7 @@ func TestLeaderAppResp(t *testing.T) {
sm.raftLog = &raftLog{ents: []pb.Entry{{}, {Term: 0}, {Term: 1}}}
sm.becomeCandidate()
sm.becomeLeader()
sm.ReadMessages()
sm.readMessages()
sm.Step(pb.Message{From: 2, Type: pb.MsgAppResp, Index: tt.index, Term: sm.Term, Reject: tt.reject})
p := sm.prs[2]
@ -814,7 +821,7 @@ func TestLeaderAppResp(t *testing.T) {
t.Errorf("#%d next = %d, want %d", i, p.next, tt.wnext)
}
msgs := sm.ReadMessages()
msgs := sm.readMessages()
if len(msgs) != tt.wmsgNum {
t.Errorf("#%d msgNum = %d, want %d", i, len(msgs), tt.wmsgNum)
@ -851,7 +858,7 @@ func TestBcastBeat(t *testing.T) {
}
sm.Step(pb.Message{Type: pb.MsgBeat})
msgs := sm.ReadMessages()
msgs := sm.readMessages()
if len(msgs) != 2 {
t.Fatalf("len(msgs) = %v, want 1", len(msgs))
}
@ -904,7 +911,7 @@ func TestRecvMsgBeat(t *testing.T) {
}
sm.Step(pb.Message{From: 1, To: 1, Type: pb.MsgBeat})
msgs := sm.ReadMessages()
msgs := sm.readMessages()
if len(msgs) != tt.wMsg {
t.Errorf("%d: len(msgs) = %d, want %d", i, len(msgs), tt.wMsg)
}
@ -967,7 +974,7 @@ func TestProvideSnap(t *testing.T) {
sm.prs[2].next = sm.raftLog.offset
sm.Step(pb.Message{From: 2, To: 1, Type: pb.MsgAppResp, Index: sm.prs[2].next - 1, Reject: true})
msgs := sm.ReadMessages()
msgs := sm.readMessages()
if len(msgs) != 1 {
t.Fatalf("len(msgs) = %d, want 1", len(msgs))
}
@ -1207,7 +1214,7 @@ func (nw *network) send(msgs ...pb.Message) {
m := msgs[0]
p := nw.peers[m.To]
p.Step(m)
msgs = append(msgs[1:], nw.filter(p.ReadMessages())...)
msgs = append(msgs[1:], nw.filter(p.readMessages())...)
}
}
@ -1267,7 +1274,7 @@ type connem struct {
type blackHole struct{}
func (blackHole) Step(pb.Message) error { return nil }
func (blackHole) ReadMessages() []pb.Message { return nil }
func (blackHole) readMessages() []pb.Message { return nil }
var nopStepper = &blackHole{}