Skip to content

Commit 2ac0c2f

Browse files
authored
Merge pull request #35 from ldez/fix/loopvar
feat: add ignoreloopvar option
2 parents 2ff338a + d304942 commit 2ac0c2f

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ A few options can be activated by flag:
1414

1515
* `-i`: Ignore missing calls to `t.Parallel` and only report incorrect uses of it.
1616
* `-ignoremissingsubtests`: Require that top-level tests specify `t.Parallel`, but don't require it in subtests (`t.Run(...)`).
17+
* `-ignoreloopVar`: Ignore loop variable detection.
1718

1819
## Examples
1920

pkg/paralleltest/paralleltest.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ type parallelAnalyzer struct {
2626
analyzer *analysis.Analyzer
2727
ignoreMissing bool
2828
ignoreMissingSubtests bool
29+
ignoreLoopVar bool
2930
}
3031

3132
func newParallelAnalyzer() *parallelAnalyzer {
@@ -34,6 +35,7 @@ func newParallelAnalyzer() *parallelAnalyzer {
3435
var flags flag.FlagSet
3536
flags.BoolVar(&a.ignoreMissing, "i", false, "ignore missing calls to t.Parallel")
3637
flags.BoolVar(&a.ignoreMissingSubtests, "ignoremissingsubtests", false, "ignore missing calls to t.Parallel in subtests")
38+
flags.BoolVar(&a.ignoreLoopVar, "ignoreloopVar", false, "ignore loop variable detection")
3739

3840
a.analyzer = &analysis.Analyzer{
3941
Name: "paralleltest",
@@ -137,7 +139,7 @@ func (a *parallelAnalyzer) run(pass *analysis.Pass) (interface{}, error) {
137139
rangeStatementCantParallelMethod = methodSetenvIsCalledInMethodRun(r.X, innerTestVar)
138140
}
139141

140-
if loopVariableUsedInRun == nil {
142+
if !a.ignoreLoopVar && loopVariableUsedInRun == nil {
141143
if run, ok := r.X.(*ast.CallExpr); ok {
142144
loopVariableUsedInRun = loopVarReferencedInRun(run, loopVars, pass.TypesInfo)
143145
}

0 commit comments

Comments
 (0)