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...) } } 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