From 548e41407213699f6a1a04ae691c9bc6c5018296 Mon Sep 17 00:00:00 2001 From: Paul Laffitte Date: Thu, 2 Feb 2023 16:01:24 +0100 Subject: [PATCH] tests: fix kube-apiserver teardown timeout see https://github.com/kubernetes-sigs/controller-runtime/issues/1571 see https://github.com/kubernetes-sigs/kubebuilder/pull/2379 --- controllers/suite_test.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/controllers/suite_test.go b/controllers/suite_test.go index 64618f20..eca49b4d 100644 --- a/controllers/suite_test.go +++ b/controllers/suite_test.go @@ -35,6 +35,8 @@ import ( var cfg *rest.Config var k8sClient client.Client var testEnv *envtest.Environment +var ctx context.Context +var cancel context.CancelFunc var registryContainerId string func TestAPIs(t *testing.T) { @@ -102,6 +104,8 @@ func removeRegistry() { var _ = BeforeSuite(func() { logf.SetLogger(zap.New(zap.WriteTo(os.Stdout), zap.UseDevMode(true))) + ctx, cancel = context.WithCancel(context.TODO()) + By("bootstrapping test environment") testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{filepath.Join("..", "config", "crd", "bases")}, @@ -149,12 +153,13 @@ var _ = BeforeSuite(func() { go func() { defer GinkgoRecover() - err = k8sManager.Start(ctrl.SetupSignalHandler()) + err = k8sManager.Start(ctx) Expect(err).ToNot(HaveOccurred(), "failed to run manager") }() }) var _ = AfterSuite(func() { + cancel() By("tearing down the test environment") err := testEnv.Stop() Expect(err).NotTo(HaveOccurred())