diff --git a/operator/internal/testutils/setup_envtest.go b/operator/internal/testutils/setup_envtest.go index f448e5c47..8ebb02c54 100644 --- a/operator/internal/testutils/setup_envtest.go +++ b/operator/internal/testutils/setup_envtest.go @@ -43,7 +43,18 @@ func (e *RedpandaTestEnv) StartRedpandaTestEnv(withWebhook bool) (*rest.Config, Paths: []string{filepath.Join(configPath, "webhook")}, } } + cfg, err := e.Start() + if err != nil { + return nil, err + } + + // Ideally we'd plumb in testing.T here to ensure that clean up is run. + // This seems to run ~80% of the time which is a dramatic improvement. + runtime.AddCleanup(cfg, func(e *RedpandaTestEnv) { + _ = e.Stop() + }, e) + return cfg, err } diff --git a/pkg/kube/envexpander_test.go b/pkg/kube/envexpander_test.go index 65d6f59d1..03a5d7bba 100644 --- a/pkg/kube/envexpander_test.go +++ b/pkg/kube/envexpander_test.go @@ -28,6 +28,8 @@ func TestEnvExpander(t *testing.T) { cfg, err := env.Start() require.NoError(t, err) + t.Cleanup(func() { _ = env.Stop() }) + c, err := client.New(cfg, client.Options{}) require.NoError(t, err)