From ebb61d22d5232684bba95aece8bf1013cadd0be3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Jun 2022 11:01:18 +0000 Subject: [PATCH 1/3] build(deps): bump github.com/kunwardeep/paralleltest from 1.0.4 to 1.0.6 Bumps [github.com/kunwardeep/paralleltest](https://github.com/kunwardeep/paralleltest) from 1.0.4 to 1.0.6. - [Release notes](https://github.com/kunwardeep/paralleltest/releases) - [Commits](https://github.com/kunwardeep/paralleltest/compare/v1.0.4...v1.0.6) --- updated-dependencies: - dependency-name: github.com/kunwardeep/paralleltest dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 180f5501f627..53f11b9291cf 100644 --- a/go.mod +++ b/go.mod @@ -49,7 +49,7 @@ require ( github.com/julz/importas v0.1.0 github.com/kisielk/errcheck v1.6.1 github.com/kulti/thelper v0.6.3 - github.com/kunwardeep/paralleltest v1.0.4 + github.com/kunwardeep/paralleltest v1.0.6 github.com/kyoh86/exportloopref v0.1.8 github.com/ldez/gomoddirectives v0.2.3 github.com/ldez/tagliatelle v0.3.1 diff --git a/go.sum b/go.sum index 26d0864cf708..46f0b40333db 100644 --- a/go.sum +++ b/go.sum @@ -488,8 +488,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= -github.com/kunwardeep/paralleltest v1.0.4 h1:4hBG0jsh8mELqkU9fUtzsXPp7jOlm86DywicsSwet3E= -github.com/kunwardeep/paralleltest v1.0.4/go.mod h1:vLydzomDFpk7yu5UX02RmP0H8QfRPOV/oFhWN85Mjb4= +github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoaGS+Ugg8g= +github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= From 5fe1511bc80acf09088abeb261f129bbf622a1a8 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Sun, 12 Jun 2022 13:11:36 +0200 Subject: [PATCH 2/3] update code --- pkg/golinters/paralleltest.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/golinters/paralleltest.go b/pkg/golinters/paralleltest.go index 8631bf6ec6e9..d429f6f1dc90 100644 --- a/pkg/golinters/paralleltest.go +++ b/pkg/golinters/paralleltest.go @@ -11,7 +11,7 @@ func NewParallelTest() *goanalysis.Linter { return goanalysis.NewLinter( "paralleltest", "paralleltest detects missing usage of t.Parallel() method in your Go test", - []*analysis.Analyzer{paralleltest.NewAnalyzer()}, + []*analysis.Analyzer{paralleltest.Analyzer}, nil, ).WithLoadMode(goanalysis.LoadModeTypesInfo) } From de786b1a00ba7da561098ca4ab0e59256eb182ff Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Sun, 12 Jun 2022 13:24:49 +0200 Subject: [PATCH 3/3] add new configuration options --- .golangci.reference.yml | 5 +++++ pkg/config/linters_settings.go | 5 +++++ pkg/golinters/paralleltest.go | 16 ++++++++++++++-- pkg/lint/lintersdb/manager.go | 4 +++- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/.golangci.reference.yml b/.golangci.reference.yml index 7451c8e361a7..7ec6344aff72 100644 --- a/.golangci.reference.yml +++ b/.golangci.reference.yml @@ -1152,6 +1152,11 @@ linters-settings: # Default: false require-specific: true + paralleltest: + # Ignore missing calls to `t.Parallel()` and only report incorrect uses of it. + # Default: false + ignore-missing: true + prealloc: # IMPORTANT: we don't recommend using this linter before doing performance profiling. # For most programs usage of prealloc will be a premature optimization. diff --git a/pkg/config/linters_settings.go b/pkg/config/linters_settings.go index 3d47951783f3..f775d208580e 100644 --- a/pkg/config/linters_settings.go +++ b/pkg/config/linters_settings.go @@ -158,6 +158,7 @@ type LintersSettings struct { NilNil NilNilSettings Nlreturn NlreturnSettings NoLintLint NoLintLintSettings + ParallelTest ParallelTestSettings Prealloc PreallocSettings Predeclared PredeclaredSettings Promlinter PromlinterSettings @@ -481,6 +482,10 @@ type NoLintLintSettings struct { AllowUnused bool `mapstructure:"allow-unused"` } +type ParallelTestSettings struct { + IgnoreMissing bool `mapstructure:"ignore-missing"` +} + type PreallocSettings struct { Simple bool RangeLoops bool `mapstructure:"range-loops"` diff --git a/pkg/golinters/paralleltest.go b/pkg/golinters/paralleltest.go index d429f6f1dc90..5f50a3940269 100644 --- a/pkg/golinters/paralleltest.go +++ b/pkg/golinters/paralleltest.go @@ -4,14 +4,26 @@ import ( "github.com/kunwardeep/paralleltest/pkg/paralleltest" "golang.org/x/tools/go/analysis" + "github.com/golangci/golangci-lint/pkg/config" "github.com/golangci/golangci-lint/pkg/golinters/goanalysis" ) -func NewParallelTest() *goanalysis.Linter { +func NewParallelTest(settings *config.ParallelTestSettings) *goanalysis.Linter { + a := paralleltest.Analyzer + + var cfg map[string]map[string]interface{} + if settings != nil { + cfg = map[string]map[string]interface{}{ + a.Name: { + "i": settings.IgnoreMissing, + }, + } + } + return goanalysis.NewLinter( "paralleltest", "paralleltest detects missing usage of t.Parallel() method in your Go test", []*analysis.Analyzer{paralleltest.Analyzer}, - nil, + cfg, ).WithLoadMode(goanalysis.LoadModeTypesInfo) } diff --git a/pkg/lint/lintersdb/manager.go b/pkg/lint/lintersdb/manager.go index 79777d312b2c..1c9169c72673 100644 --- a/pkg/lint/lintersdb/manager.go +++ b/pkg/lint/lintersdb/manager.go @@ -147,6 +147,7 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config { nilNilCfg *config.NilNilSettings nlreturnCfg *config.NlreturnSettings noLintLintCfg *config.NoLintLintSettings + parallelTestCfg *config.ParallelTestSettings preallocCfg *config.PreallocSettings predeclaredCfg *config.PredeclaredSettings promlinterCfg *config.PromlinterSettings @@ -216,6 +217,7 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config { nlreturnCfg = &m.cfg.LintersSettings.Nlreturn noLintLintCfg = &m.cfg.LintersSettings.NoLintLint preallocCfg = &m.cfg.LintersSettings.Prealloc + parallelTestCfg = &m.cfg.LintersSettings.ParallelTest predeclaredCfg = &m.cfg.LintersSettings.Predeclared promlinterCfg = &m.cfg.LintersSettings.Promlinter reviveCfg = &m.cfg.LintersSettings.Revive @@ -614,7 +616,7 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config { WithPresets(linter.PresetStyle). WithURL("https://github.com/stbenjam/no-sprintf-host-port"), - linter.NewConfig(golinters.NewParallelTest()). + linter.NewConfig(golinters.NewParallelTest(parallelTestCfg)). WithSince("v1.33.0"). WithLoadForGoAnalysis(). WithPresets(linter.PresetStyle, linter.PresetTest).