Merge pull request #990 from coreos/fix_node_test

Fix node test
This commit is contained in:
Xiang Li 2014-09-04 13:55:50 -07:00
commit 25ee66c6c7
2 changed files with 12 additions and 17 deletions

View File

@ -71,6 +71,7 @@ func (n *Node) run(r *raft) {
var lead int64
var prev Ready
prev.Vote = none
for {
if lead != r.lead {
log.Printf("raft: leader changed from %#x to %#x", lead, r.lead)

View File

@ -12,17 +12,7 @@ func TestNode(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
n := Start(1, []int64{1}, 0, 0)
ch := make(chan Ready)
go func() {
for {
ch <- <-n.Ready()
}
}()
n.Campaign(ctx)
n.Propose(ctx, []byte("foo"))
want := []Ready{
wants := []Ready{
{
State: raftpb.State{Term: 1, Vote: -1, Commit: 1, LastIndex: 1},
Entries: []raftpb.Entry{{Term: 1, Index: 1}},
@ -35,16 +25,20 @@ func TestNode(t *testing.T) {
},
}
for i, w := range want {
if g := <-ch; !reflect.DeepEqual(g, w) {
t.Errorf("#%d: g = %+v,\n w %+v", i, g, w)
}
n := Start(1, []int64{1}, 0, 0)
n.Campaign(ctx)
if g := <-n.Ready(); !reflect.DeepEqual(g, wants[0]) {
t.Errorf("#%d: g = %+v,\n w %+v", 1, g, wants[0])
}
n.Propose(ctx, []byte("foo"))
if g := <-n.Ready(); !reflect.DeepEqual(g, wants[1]) {
t.Errorf("#%d: g = %+v,\n w %+v", 2, g, wants[1])
}
select {
case rd := <-ch:
case rd := <-n.Ready():
t.Errorf("unexpected Ready: %+v", rd)
default:
}
}