From 2a638ecfd2046e3b67a9513f694ea4247cfb8822 Mon Sep 17 00:00:00 2001 From: Curtis Robert Date: Tue, 12 Mar 2024 12:55:05 -0700 Subject: [PATCH] [chore][receiver/sqlquery] Enable goleak check (#31667) **Description:** Enable goleak checks to help ensure no goroutines are being leaked. This is a test only change, a couple tests were missing `Shutdown` calls. **Link to tracking Issue:** #30438 --------- Co-authored-by: Andrzej Stencel --- receiver/sqlqueryreceiver/go.mod | 1 + receiver/sqlqueryreceiver/package_test.go | 15 +++++++++++++++ receiver/sqlqueryreceiver/receiver_test.go | 2 ++ 3 files changed, 18 insertions(+) create mode 100644 receiver/sqlqueryreceiver/package_test.go diff --git a/receiver/sqlqueryreceiver/go.mod b/receiver/sqlqueryreceiver/go.mod index cebf7b9218f34..6617d1e2818bc 100644 --- a/receiver/sqlqueryreceiver/go.mod +++ b/receiver/sqlqueryreceiver/go.mod @@ -19,6 +19,7 @@ require ( go.opentelemetry.io/collector/receiver v0.96.1-0.20240306115632-b2693620eff6 go.opentelemetry.io/otel/metric v1.24.0 go.opentelemetry.io/otel/trace v1.24.0 + go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 ) diff --git a/receiver/sqlqueryreceiver/package_test.go b/receiver/sqlqueryreceiver/package_test.go new file mode 100644 index 0000000000000..0544a360dc654 --- /dev/null +++ b/receiver/sqlqueryreceiver/package_test.go @@ -0,0 +1,15 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package sqlqueryreceiver + +import ( + "testing" + + "go.uber.org/goleak" +) + +// Regarding the godbus/dbus ignore: see https://github.com/99designs/keyring/issues/103 +func TestMain(m *testing.M) { + goleak.VerifyTestMain(m, goleak.IgnoreAnyFunction("github.com/godbus/dbus.(*Conn).inWorker")) +} diff --git a/receiver/sqlqueryreceiver/receiver_test.go b/receiver/sqlqueryreceiver/receiver_test.go index ff5cd49f9d53b..d5a1aecf882be 100644 --- a/receiver/sqlqueryreceiver/receiver_test.go +++ b/receiver/sqlqueryreceiver/receiver_test.go @@ -45,6 +45,7 @@ func TestCreateLogsReceiver(t *testing.T) { require.NoError(t, err) err = receiver.Start(ctx, componenttest.NewNopHost()) require.NoError(t, err) + require.NoError(t, receiver.Shutdown(ctx)) } func TestCreateMetricsReceiver(t *testing.T) { @@ -75,6 +76,7 @@ func TestCreateMetricsReceiver(t *testing.T) { require.NoError(t, err) err = receiver.Start(ctx, componenttest.NewNopHost()) require.NoError(t, err) + require.NoError(t, receiver.Shutdown(ctx)) } func fakeDBConnect(string, string) (*sql.DB, error) {