mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
raft: fix test case for data race
This commit is contained in:
parent
62bd5477b9
commit
bc6f5ad53e
@ -301,9 +301,14 @@ func TestNodeProposeAddDuplicateNode(t *testing.T) {
|
|||||||
n.Campaign(context.TODO())
|
n.Campaign(context.TODO())
|
||||||
rdyEntries := make([]raftpb.Entry, 0)
|
rdyEntries := make([]raftpb.Entry, 0)
|
||||||
ticker := time.NewTicker(time.Millisecond * 100)
|
ticker := time.NewTicker(time.Millisecond * 100)
|
||||||
|
done := make(chan struct{})
|
||||||
|
stop := make(chan struct{})
|
||||||
go func() {
|
go func() {
|
||||||
|
defer close(done)
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
|
case <-stop:
|
||||||
|
return
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
n.Tick()
|
n.Tick()
|
||||||
case rd := <-n.Ready():
|
case rd := <-n.Ready():
|
||||||
@ -334,6 +339,8 @@ func TestNodeProposeAddDuplicateNode(t *testing.T) {
|
|||||||
ccdata2, _ := cc2.Marshal()
|
ccdata2, _ := cc2.Marshal()
|
||||||
n.ProposeConfChange(context.TODO(), cc2)
|
n.ProposeConfChange(context.TODO(), cc2)
|
||||||
time.Sleep(time.Millisecond * 10)
|
time.Sleep(time.Millisecond * 10)
|
||||||
|
close(stop)
|
||||||
|
<-done
|
||||||
|
|
||||||
if len(rdyEntries) != 4 {
|
if len(rdyEntries) != 4 {
|
||||||
t.Errorf("len(entry) = %d, want %d, %v\n", len(rdyEntries), 3, rdyEntries)
|
t.Errorf("len(entry) = %d, want %d, %v\n", len(rdyEntries), 3, rdyEntries)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user