diff --git a/go/core/internal/controller/goleak_test.go b/go/core/internal/controller/goleak_test.go new file mode 100644 index 000000000..a1db73327 --- /dev/null +++ b/go/core/internal/controller/goleak_test.go @@ -0,0 +1,11 @@ +package controller + +import ( + "testing" + + "go.uber.org/goleak" +) + +func TestMain(m *testing.M) { + goleak.VerifyTestMain(m) +} diff --git a/go/core/internal/controller/reconciler/mcp_server_reconciler_test.go b/go/core/internal/controller/reconciler/mcp_server_reconciler_test.go index 70dbeeef2..9514ca6f2 100644 --- a/go/core/internal/controller/reconciler/mcp_server_reconciler_test.go +++ b/go/core/internal/controller/reconciler/mcp_server_reconciler_test.go @@ -6,6 +6,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.uber.org/goleak" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" schemev1 "k8s.io/client-go/kubernetes/scheme" @@ -18,6 +19,10 @@ import ( "github.com/kagent-dev/kmcp/api/v1alpha1" ) +func TestMain(m *testing.M) { + goleak.VerifyTestMain(m) +} + // TestReconcileKagentMCPServer_ErrorPropagation tests that errors from conversion // are properly propagated and not silently swallowed. This is a regression test // for the original issue where errors were only logged. diff --git a/go/go.mod b/go/go.mod index bd211d659..8ca989ebe 100644 --- a/go/go.mod +++ b/go/go.mod @@ -45,6 +45,7 @@ require ( go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/trace v1.43.0 go.uber.org/automaxprocs v1.6.0 + go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.1 golang.org/x/text v0.36.0 google.golang.org/adk v1.1.0