golang/go

x/tools/go/analysis/passes/modernize: add testingsetenv analyzer

Open

#77.735 aperta il 22 feb 2026

Vedi su GitHub
 (13 commenti) (4 reazioni) (1 assegnatario)Go (19.008 fork)batch import
FeatureRequestProposalToolshelp wanted

Metriche repository

Star
 (133.883 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Proposal Details

Add a new analyzer that replaces manual environment variable save/restore with t.Setenv (Go 1.17+).

// Before
defer os.Setenv("GOOS", os.Getenv("GOOS"))
os.Setenv("GOOS", f[0])

// After
t.Setenv("GOOS", f[0])

Conditions

  • Pattern: defer os.Setenv(key, os.Getenv(key)) followed by os.Setenv(key, value)
  • defer must precede os.Setenv (defer args are evaluated immediately)
  • Within test function, before any t.Parallel() call
  • Go 1.17+

Similar to testingcontext analyzer.

Guida contributor