Clean shutdown of apply integration tests

This commit is contained in:
Wojciech Tyczyński 2022-11-05 20:09:43 +01:00
parent c519bc02e8
commit 71d87272de
4 changed files with 11 additions and 2 deletions

View File

@ -435,6 +435,7 @@ func TestApplyCRDUnhandledSchema(t *testing.T) {
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
defer etcdclient.Close()
server, err := apiservertesting.StartTestServer(t, apiservertesting.NewDefaultTestServerOptions(), nil, storageConfig) server, err := apiservertesting.StartTestServer(t, apiservertesting.NewDefaultTestServerOptions(), nil, storageConfig)
if err != nil { if err != nil {

View File

@ -119,8 +119,15 @@ func TestNamespaceCondition(t *testing.T) {
// TestNamespaceLabels tests for default labels added in https://github.com/kubernetes/kubernetes/pull/96968 // TestNamespaceLabels tests for default labels added in https://github.com/kubernetes/kubernetes/pull/96968
func TestNamespaceLabels(t *testing.T) { func TestNamespaceLabels(t *testing.T) {
closeFn, _, _, kubeClient, _ := namespaceLifecycleSetup(t) closeFn, nsController, _, kubeClient, _ := namespaceLifecycleSetup(t)
defer closeFn() defer closeFn()
// Even though nscontroller isn't used in this test, its creation is already
// spawning some goroutines. So we need to run it to ensure they won't leak.
stopCh := make(chan struct{})
close(stopCh)
go nsController.Run(5, stopCh)
nsName := "test-namespace-labels-generated" nsName := "test-namespace-labels-generated"
// Create a new namespace w/ no name // Create a new namespace w/ no name
ns, err := kubeClient.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{ ns, err := kubeClient.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{

View File

@ -63,6 +63,7 @@ func TestCoreResourceEnqueue(t *testing.T) {
testutils.SyncInformerFactory(testCtx) testutils.SyncInformerFactory(testCtx)
defer testutils.CleanupTest(t, testCtx) defer testutils.CleanupTest(t, testCtx)
defer testCtx.Scheduler.SchedulingQueue.Close()
cs, ns, ctx := testCtx.ClientSet, testCtx.NS.Name, testCtx.Ctx cs, ns, ctx := testCtx.ClientSet, testCtx.NS.Name, testCtx.Ctx
// Create one Node with a taint. // Create one Node with a taint.

View File

@ -899,7 +899,7 @@ func timeout(ctx context.Context, d time.Duration, f func()) error {
done := make(chan struct{}) done := make(chan struct{})
go func() { go func() {
f() f()
done <- struct{}{} close(done)
}() }()
select { select {