fix data race in unittest

This commit is contained in:
fansong.cfs 2019-05-13 15:00:16 +08:00
parent a1588cfe34
commit 3892f66980

View File

@ -25,7 +25,7 @@ import (
"testing" "testing"
"time" "time"
"k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/fields"
@ -678,12 +678,16 @@ func TestDispatchingBookmarkEventsWithConcurrentStop(t *testing.T) {
t.Fatalf("failure to update version of object (%d) %#v", bookmark.ResourceVersion, bookmark.Object) t.Fatalf("failure to update version of object (%d) %#v", bookmark.ResourceVersion, bookmark.Object)
} }
wg := sync.WaitGroup{}
wg.Add(2)
go func() { go func() {
cacher.dispatchEvent(bookmark) cacher.dispatchEvent(bookmark)
wg.Done()
}() }()
go func() { go func() {
w.Stop() w.Stop()
wg.Done()
}() }()
done := make(chan struct{}) done := make(chan struct{})
@ -700,5 +704,6 @@ func TestDispatchingBookmarkEventsWithConcurrentStop(t *testing.T) {
t.Fatal("receive result timeout") t.Fatal("receive result timeout")
} }
w.Stop() w.Stop()
wg.Wait()
} }
} }