|
|
@@ -33,7 +33,7 @@ func TestLeaderElection(t *testing.T) {
|
|
|
if sm.state != tt.state {
|
|
|
t.Errorf("#%d: state = %s, want %s", i, sm.state, tt.state)
|
|
|
}
|
|
|
- if g := sm.term; g != 1 {
|
|
|
+ if g := sm.term.Get(); g != 1 {
|
|
|
t.Errorf("#%d: term = %d, want %d", i, g, 1)
|
|
|
}
|
|
|
}
|
|
|
@@ -226,7 +226,7 @@ func TestDuelingCandidates(t *testing.T) {
|
|
|
if g := tt.sm.state; g != tt.state {
|
|
|
t.Errorf("#%d: state = %s, want %s", i, g, tt.state)
|
|
|
}
|
|
|
- if g := tt.sm.term; g != tt.term {
|
|
|
+ if g := tt.sm.term.Get(); g != tt.term {
|
|
|
t.Errorf("#%d: term = %d, want %d", i, g, tt.term)
|
|
|
}
|
|
|
base := ltoa(tt.log)
|
|
|
@@ -365,7 +365,7 @@ func TestProposal(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
sm := tt.network.peers[0].(*stateMachine)
|
|
|
- if g := sm.term; g != 1 {
|
|
|
+ if g := sm.term.Get(); g != 1 {
|
|
|
t.Errorf("#%d: term = %d, want %d", i, g, 1)
|
|
|
}
|
|
|
}
|
|
|
@@ -398,7 +398,7 @@ func TestProposalByProxy(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
sm := tt.peers[0].(*stateMachine)
|
|
|
- if g := sm.term; g != 1 {
|
|
|
+ if g := sm.term.Get(); g != 1 {
|
|
|
t.Errorf("#%d: term = %d, want %d", i, g, 1)
|
|
|
}
|
|
|
}
|
|
|
@@ -437,7 +437,7 @@ func TestCommit(t *testing.T) {
|
|
|
for j := 0; j < len(tt.matches); j++ {
|
|
|
ins[int64(j)] = &index{tt.matches[j], tt.matches[j] + 1}
|
|
|
}
|
|
|
- sm := &stateMachine{log: &log{ents: tt.logs}, ins: ins, term: tt.smTerm}
|
|
|
+ sm := &stateMachine{log: &log{ents: tt.logs}, ins: ins, term: atomicInt(tt.smTerm)}
|
|
|
sm.maybeCommit()
|
|
|
if g := sm.log.committed; g != tt.w {
|
|
|
t.Errorf("#%d: committed = %d, want %d", i, g, tt.w)
|
|
|
@@ -542,8 +542,8 @@ func TestStateTransition(t *testing.T) {
|
|
|
sm.becomeLeader()
|
|
|
}
|
|
|
|
|
|
- if sm.term != tt.wterm {
|
|
|
- t.Errorf("%d: term = %d, want %d", i, sm.term, tt.wterm)
|
|
|
+ if sm.term.Get() != tt.wterm {
|
|
|
+ t.Errorf("%d: term = %d, want %d", i, sm.term.Get(), tt.wterm)
|
|
|
}
|
|
|
if sm.lead.Get() != tt.wlead {
|
|
|
t.Errorf("%d: lead = %d, want %d", i, sm.lead, tt.wlead)
|
|
|
@@ -634,8 +634,8 @@ func TestAllServerStepdown(t *testing.T) {
|
|
|
if sm.state != tt.wstate {
|
|
|
t.Errorf("#%d.%d state = %v , want %v", i, j, sm.state, tt.wstate)
|
|
|
}
|
|
|
- if sm.term != tt.wterm {
|
|
|
- t.Errorf("#%d.%d term = %v , want %v", i, j, sm.term, tt.wterm)
|
|
|
+ if sm.term.Get() != tt.wterm {
|
|
|
+ t.Errorf("#%d.%d term = %v , want %v", i, j, sm.term.Get(), tt.wterm)
|
|
|
}
|
|
|
if int64(len(sm.log.ents)) != tt.windex {
|
|
|
t.Errorf("#%d.%d index = %v , want %v", i, j, len(sm.log.ents), tt.windex)
|
|
|
@@ -663,7 +663,7 @@ func TestLeaderAppResp(t *testing.T) {
|
|
|
sm.becomeCandidate()
|
|
|
sm.becomeLeader()
|
|
|
sm.Msgs()
|
|
|
- sm.Step(Message{From: 1, Type: msgAppResp, Index: tt.index, Term: sm.term})
|
|
|
+ sm.Step(Message{From: 1, Type: msgAppResp, Index: tt.index, Term: sm.term.Get()})
|
|
|
msgs := sm.Msgs()
|
|
|
|
|
|
if len(msgs) != tt.wmsgNum {
|
|
|
@@ -695,7 +695,7 @@ func TestRecvMsgBeat(t *testing.T) {
|
|
|
for i, tt := range tests {
|
|
|
sm := newStateMachine(0, []int64{0, 1, 2})
|
|
|
sm.log = &log{ents: []Entry{{}, {Term: 0}, {Term: 1}}}
|
|
|
- sm.term = 1
|
|
|
+ sm.term.Set(1)
|
|
|
sm.state = tt.state
|
|
|
sm.Step(Message{Type: msgBeat})
|
|
|
|