From 28aea6f136f78979c050b9fa21a2d9fc43aad7ff Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Wed, 15 Jan 2025 13:51:44 +0100 Subject: [PATCH 1/2] fix: spancheck default StartSpanMatchersSlice values --- pkg/golinters/spancheck/spancheck.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/golinters/spancheck/spancheck.go b/pkg/golinters/spancheck/spancheck.go index a800a1705827..efdc1d0bf662 100644 --- a/pkg/golinters/spancheck/spancheck.go +++ b/pkg/golinters/spancheck/spancheck.go @@ -12,16 +12,16 @@ func New(settings *config.SpancheckSettings) *goanalysis.Linter { cfg := spancheck.NewDefaultConfig() if settings != nil { - if settings.Checks != nil { + if len(settings.Checks) > 0 { cfg.EnabledChecks = settings.Checks } - if settings.IgnoreCheckSignatures != nil { + if len(settings.IgnoreCheckSignatures) > 0 { cfg.IgnoreChecksSignaturesSlice = settings.IgnoreCheckSignatures } - if settings.ExtraStartSpanSignatures != nil { - cfg.StartSpanMatchersSlice = settings.ExtraStartSpanSignatures + if len(settings.ExtraStartSpanSignatures) > 0 { + cfg.StartSpanMatchersSlice = append(cfg.StartSpanMatchersSlice, settings.ExtraStartSpanSignatures...) } } From 939c8318b33dbcb5f06b9b09f7db252136982111 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Thu, 16 Jan 2025 14:31:37 +0100 Subject: [PATCH 2/2] tests: keep default --- .../{spancheck_default.go => spancheck.go} | 0 .../testdata/spancheck_keep_default.go | 18 ++++++++++++++++++ .../testdata/spancheck_keep_default.yml | 4 ++++ 3 files changed, 22 insertions(+) rename pkg/golinters/spancheck/testdata/{spancheck_default.go => spancheck.go} (100%) create mode 100644 pkg/golinters/spancheck/testdata/spancheck_keep_default.go create mode 100644 pkg/golinters/spancheck/testdata/spancheck_keep_default.yml diff --git a/pkg/golinters/spancheck/testdata/spancheck_default.go b/pkg/golinters/spancheck/testdata/spancheck.go similarity index 100% rename from pkg/golinters/spancheck/testdata/spancheck_default.go rename to pkg/golinters/spancheck/testdata/spancheck.go diff --git a/pkg/golinters/spancheck/testdata/spancheck_keep_default.go b/pkg/golinters/spancheck/testdata/spancheck_keep_default.go new file mode 100644 index 000000000000..289d8e578d57 --- /dev/null +++ b/pkg/golinters/spancheck/testdata/spancheck_keep_default.go @@ -0,0 +1,18 @@ +//golangcitest:args -Espancheck +//golangcitest:config_path testdata/spancheck_keep_default.yml +package spancheck + +import ( + "context" + + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/trace" +) + +func StartTrace() (context.Context, trace.Span) { + return otel.Tracer("example.com/main").Start(context.Background(), "span name") // want "span is unassigned, probable memory leak" +} + +func _() { + _, _ = StartTrace() +} diff --git a/pkg/golinters/spancheck/testdata/spancheck_keep_default.yml b/pkg/golinters/spancheck/testdata/spancheck_keep_default.yml new file mode 100644 index 000000000000..3197c7b5ff77 --- /dev/null +++ b/pkg/golinters/spancheck/testdata/spancheck_keep_default.yml @@ -0,0 +1,4 @@ +linters-settings: + spancheck: + extra-start-span-signatures: + - dummy:opentelemetry