diff --git a/internal/docker/docker_test.go b/internal/docker/docker_test.go index 27180319f110..5bb749220f68 100644 --- a/internal/docker/docker_test.go +++ b/internal/docker/docker_test.go @@ -230,7 +230,9 @@ func TestEventLoopHandlesError(t *testing.T) { assert.NotNil(t, cli) assert.NoError(t, err) - go cli.ContainerEventLoop(context.Background()) + ctx, cancel := context.WithCancel(context.Background()) + go cli.ContainerEventLoop(ctx) + defer cancel() assert.Eventually(t, func() bool { for _, l := range logs.All() { diff --git a/internal/docker/go.mod b/internal/docker/go.mod index b6929ae78c5e..382281261b52 100644 --- a/internal/docker/go.mod +++ b/internal/docker/go.mod @@ -6,6 +6,7 @@ require ( github.com/docker/docker v25.0.5+incompatible github.com/gobwas/glob v0.2.3 github.com/stretchr/testify v1.9.0 + go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) diff --git a/internal/docker/package_test.go b/internal/docker/package_test.go new file mode 100644 index 000000000000..0ebd6a327e31 --- /dev/null +++ b/internal/docker/package_test.go @@ -0,0 +1,14 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package docker + +import ( + "testing" + + "go.uber.org/goleak" +) + +func TestMain(m *testing.M) { + goleak.VerifyTestMain(m) +}