aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/kunwardeep
diff options
context:
space:
mode:
authordependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2023-08-10 01:40:38 +0000
committerAleksandr Nogikh <nogikh@google.com>2023-08-10 08:15:09 +0000
commitc7f6fc5b21cf154fabe12125d2cd1b274c57cb53 (patch)
treece1c303a28a94d0096debb33d8bf853872ed1577 /vendor/github.com/kunwardeep
parent4df3089c378ffe870e094cb3088bcad17d16d02d (diff)
mod: do: bump github.com/golangci/golangci-lint from 1.53.3 to 1.54.0
Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.53.3 to 1.54.0. - [Release notes](https://github.com/golangci/golangci-lint/releases) - [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md) - [Commits](https://github.com/golangci/golangci-lint/compare/v1.53.3...v1.54.0) --- updated-dependencies: - dependency-name: github.com/golangci/golangci-lint dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Diffstat (limited to 'vendor/github.com/kunwardeep')
-rw-r--r--vendor/github.com/kunwardeep/paralleltest/pkg/paralleltest/paralleltest.go47
1 files changed, 27 insertions, 20 deletions
diff --git a/vendor/github.com/kunwardeep/paralleltest/pkg/paralleltest/paralleltest.go b/vendor/github.com/kunwardeep/paralleltest/pkg/paralleltest/paralleltest.go
index 9c2fbb986..e21f278cf 100644
--- a/vendor/github.com/kunwardeep/paralleltest/pkg/paralleltest/paralleltest.go
+++ b/vendor/github.com/kunwardeep/paralleltest/pkg/paralleltest/paralleltest.go
@@ -7,7 +7,6 @@ import (
"strings"
"golang.org/x/tools/go/analysis"
- "golang.org/x/tools/go/analysis/passes/inspect"
"golang.org/x/tools/go/ast/inspector"
)
@@ -16,28 +15,36 @@ It also checks that the t.Parallel is used if multiple tests cases are run as pa
As part of ensuring parallel tests works as expected it checks for reinitialising of the range value
over the test cases.(https://tinyurl.com/y6555cy6)`
-var Analyzer = &analysis.Analyzer{
- Name: "paralleltest",
- Doc: Doc,
- Run: run,
- Flags: flags(),
- Requires: []*analysis.Analyzer{inspect.Analyzer},
+func NewAnalyzer() *analysis.Analyzer {
+ return newParallelAnalyzer().analyzer
}
-const ignoreMissingFlag = "i"
-
-func flags() flag.FlagSet {
- options := flag.NewFlagSet("", flag.ExitOnError)
- options.Bool(ignoreMissingFlag, false, "ignore missing calls to t.Parallel")
- return *options
+// parallelAnalyzer is an internal analyzer that makes options available to a
+// run pass. It wraps an `analysis.Analyzer` that should be returned for
+// linters.
+type parallelAnalyzer struct {
+ analyzer *analysis.Analyzer
+ ignoreMissing bool
+ ignoreMissingSubtests bool
}
-type boolValue bool
+func newParallelAnalyzer() *parallelAnalyzer {
+ a := &parallelAnalyzer{}
-func run(pass *analysis.Pass) (interface{}, error) {
+ var flags flag.FlagSet
+ flags.BoolVar(&a.ignoreMissing, "i", false, "ignore missing calls to t.Parallel")
+ flags.BoolVar(&a.ignoreMissingSubtests, "ignoremissingsubtests", false, "ignore missing calls to t.Parallel in subtests")
- ignoreMissing := pass.Analyzer.Flags.Lookup(ignoreMissingFlag).Value.(flag.Getter).Get().(bool)
+ a.analyzer = &analysis.Analyzer{
+ Name: "paralleltest",
+ Doc: Doc,
+ Run: a.run,
+ Flags: flags,
+ }
+ return a
+}
+func (a *parallelAnalyzer) run(pass *analysis.Pass) (interface{}, error) {
inspector := inspector.New(pass.Files)
nodeFilter := []ast.Node{
@@ -127,13 +134,13 @@ func run(pass *analysis.Pass) (interface{}, error) {
}
}
- if !ignoreMissing && !funcHasParallelMethod {
+ if !a.ignoreMissing && !funcHasParallelMethod {
pass.Reportf(node.Pos(), "Function %s missing the call to method parallel\n", funcDecl.Name.Name)
}
if rangeStatementOverTestCasesExists && rangeNode != nil {
if !rangeStatementHasParallelMethod {
- if !ignoreMissing {
+ if !a.ignoreMissing && !a.ignoreMissingSubtests {
pass.Reportf(rangeNode.Pos(), "Range statement for test %s missing the call to method parallel in test Run\n", funcDecl.Name.Name)
}
} else if loopVariableUsedInRun != nil {
@@ -142,10 +149,10 @@ func run(pass *analysis.Pass) (interface{}, error) {
}
// Check if the t.Run is more than one as there is no point making one test parallel
- if !ignoreMissing {
+ if !a.ignoreMissing && !a.ignoreMissingSubtests {
if numberOfTestRun > 1 && len(positionOfTestRunNode) > 0 {
for _, n := range positionOfTestRunNode {
- pass.Reportf(n.Pos(), "Function %s has missing the call to method parallel in the test run\n", funcDecl.Name.Name)
+ pass.Reportf(n.Pos(), "Function %s missing the call to method parallel in the test run\n", funcDecl.Name.Name)
}
}
}