Merge pull request #77796 from hormes/fix_data_race_in_ut

fix data race in unittest
This commit is contained in:
Kubernetes Prow Robot 2019-05-13 05:02:46 -07:00 committed by GitHub
commit 9b2231a293
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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()
} }
} }