Fix unexpected end of TestDependentsRace

This commit is contained in:
sunzhaochang 2021-12-10 20:07:37 +08:00
parent 9b180d8913
commit f0e74bfb7f

View File

@ -446,7 +446,10 @@ func TestDependentsRace(t *testing.T) {
owner := &node{dependents: make(map[*node]struct{})} owner := &node{dependents: make(map[*node]struct{})}
ownerUID := types.UID("owner") ownerUID := types.UID("owner")
gc.dependencyGraphBuilder.uidToNode.Write(owner) gc.dependencyGraphBuilder.uidToNode.Write(owner)
var wg sync.WaitGroup
wg.Add(2)
go func() { go func() {
defer wg.Done()
for i := 0; i < updates; i++ { for i := 0; i < updates; i++ {
dependent := &node{} dependent := &node{}
gc.dependencyGraphBuilder.addDependentToOwners(dependent, []metav1.OwnerReference{{UID: ownerUID}}) gc.dependencyGraphBuilder.addDependentToOwners(dependent, []metav1.OwnerReference{{UID: ownerUID}})
@ -454,11 +457,13 @@ func TestDependentsRace(t *testing.T) {
} }
}() }()
go func() { go func() {
gc.attemptToOrphan.Add(owner) defer wg.Done()
for i := 0; i < updates; i++ { for i := 0; i < updates; i++ {
gc.attemptToOrphan.Add(owner)
gc.attemptToOrphanWorker() gc.attemptToOrphanWorker()
} }
}() }()
wg.Wait()
} }
func podToGCNode(pod *v1.Pod) *node { func podToGCNode(pod *v1.Pod) *node {