From d2240e65dc629b1ad011f2b0d7deee3ef4fe68fa Mon Sep 17 00:00:00 2001 From: Plamerdi Makela Date: Sat, 13 Dec 2025 13:46:00 +0100 Subject: [PATCH] all: remove unneeded loop variables in tests GOMOD=off modernize -forvar -fix -test ./... Fixes #76411. --- src/cmd/api/api_test.go | 2 +- src/cmd/api/main_test.go | 2 +- src/cmd/cgo/internal/testerrors/errors_test.go | 2 +- src/cmd/cgo/internal/testsanitizers/asan_test.go | 2 +- src/cmd/cgo/internal/testsanitizers/cshared_test.go | 2 +- src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go | 2 +- src/cmd/cgo/internal/testsanitizers/msan_test.go | 2 +- src/cmd/cgo/internal/testsanitizers/tsan_test.go | 2 +- src/cmd/cgo/internal/teststdio/stdio_test.go | 2 +- src/cmd/compile/internal/gc/compile.go | 2 +- src/cmd/compile/internal/noder/noder.go | 2 +- src/cmd/compile/internal/ssa/_gen/main.go | 4 ++-- .../compile/internal/test/reproduciblebuilds_test.go | 2 +- src/cmd/compile/internal/test/ssa_test.go | 2 +- src/cmd/compile/internal/types2/api_test.go | 2 +- src/cmd/compile/internal/types2/sizes_test.go | 2 +- src/cmd/compile/internal/types2/stdlib_test.go | 1 - src/cmd/dist/test.go | 2 +- src/cmd/go/internal/modcmd/verify.go | 2 +- src/cmd/go/internal/modfetch/coderepo_test.go | 2 +- src/cmd/go/internal/modget/get.go | 10 +++++----- src/cmd/go/internal/modload/buildlist.go | 4 ++-- src/cmd/go/internal/modload/load.go | 4 +--- src/cmd/go/internal/modload/query_test.go | 2 +- src/cmd/go/internal/web/url_test.go | 2 -- src/cmd/go/script_test.go | 2 +- src/cmd/internal/obj/ppc64/asm9.go | 2 +- src/cmd/internal/par/queue_test.go | 2 +- src/cmd/internal/script/scripttest/run.go | 2 +- src/cmd/link/dwarf_test.go | 2 +- src/cmd/link/internal/ld/deadcode_test.go | 2 +- src/cmd/link/internal/ld/dwarf_test.go | 8 ++++---- src/cmd/link/internal/ld/ld_test.go | 2 +- src/cmd/link/internal/ld/lib.go | 2 +- src/cmd/link/link_test.go | 2 +- src/os/os_windows_test.go | 2 +- 36 files changed, 43 insertions(+), 48 deletions(-) diff --git a/src/cmd/api/api_test.go b/src/cmd/api/api_test.go index 98ebf168ef3949..b206897ff80526 100644 --- a/src/cmd/api/api_test.go +++ b/src/cmd/api/api_test.go @@ -232,7 +232,7 @@ var warmupCache = sync.OnceFunc(func() { // Warm up the import cache in parallel. var wg sync.WaitGroup for _, context := range contexts { - context := context + wg.Add(1) go func() { defer wg.Done() diff --git a/src/cmd/api/main_test.go b/src/cmd/api/main_test.go index ed366be4e77267..558a3a3c863300 100644 --- a/src/cmd/api/main_test.go +++ b/src/cmd/api/main_test.go @@ -121,7 +121,7 @@ func Check(t *testing.T) { walkers := make([]*Walker, len(contexts)) var wg sync.WaitGroup for i, context := range contexts { - i, context := i, context + wg.Add(1) go func() { defer wg.Done() diff --git a/src/cmd/cgo/internal/testerrors/errors_test.go b/src/cmd/cgo/internal/testerrors/errors_test.go index 80d2c402cec0c2..84b69b97619713 100644 --- a/src/cmd/cgo/internal/testerrors/errors_test.go +++ b/src/cmd/cgo/internal/testerrors/errors_test.go @@ -152,7 +152,7 @@ func TestToleratesOptimizationFlag(t *testing.T) { "", "-O", } { - cflags := cflags + t.Run(cflags, func(t *testing.T) { testenv.MustHaveGoBuild(t) testenv.MustHaveCGO(t) diff --git a/src/cmd/cgo/internal/testsanitizers/asan_test.go b/src/cmd/cgo/internal/testsanitizers/asan_test.go index cb7d857280416f..5435eff91e1e87 100644 --- a/src/cmd/cgo/internal/testsanitizers/asan_test.go +++ b/src/cmd/cgo/internal/testsanitizers/asan_test.go @@ -48,7 +48,7 @@ func TestASAN(t *testing.T) { {src: "arena_fail.go", memoryAccessError: "use-after-poison", errorLocation: "arena_fail.go:26", experiments: []string{"arenas"}}, } for _, tc := range cases { - tc := tc + name := strings.TrimSuffix(tc.src, ".go") t.Run(name, func(t *testing.T) { t.Parallel() diff --git a/src/cmd/cgo/internal/testsanitizers/cshared_test.go b/src/cmd/cgo/internal/testsanitizers/cshared_test.go index 0cf094ead79e66..578fa68a8929ed 100644 --- a/src/cmd/cgo/internal/testsanitizers/cshared_test.go +++ b/src/cmd/cgo/internal/testsanitizers/cshared_test.go @@ -54,7 +54,7 @@ func TestShared(t *testing.T) { } for _, tc := range cases { - tc := tc + name := strings.TrimSuffix(tc.src, ".go") //The memory sanitizer tests require support for the -msan option. if tc.sanitizer == "memory" && !platform.MSanSupported(GOOS, GOARCH) { diff --git a/src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go b/src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go index 9f548d66eace03..592b9b2750ee3d 100644 --- a/src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go +++ b/src/cmd/cgo/internal/testsanitizers/libfuzzer_test.go @@ -43,7 +43,7 @@ func TestLibFuzzer(t *testing.T) { {goSrc: "libfuzzer2.go", cSrc: "libfuzzer2.c", expectedError: "panic: found it"}, } for _, tc := range cases { - tc := tc + name := strings.TrimSuffix(tc.goSrc, ".go") t.Run(name, func(t *testing.T) { t.Parallel() diff --git a/src/cmd/cgo/internal/testsanitizers/msan_test.go b/src/cmd/cgo/internal/testsanitizers/msan_test.go index 554cceaff88669..5b530bf6368812 100644 --- a/src/cmd/cgo/internal/testsanitizers/msan_test.go +++ b/src/cmd/cgo/internal/testsanitizers/msan_test.go @@ -62,7 +62,7 @@ func TestMSAN(t *testing.T) { {src: "arena_fail.go", wantErr: true, experiments: []string{"arenas"}}, } for _, tc := range cases { - tc := tc + name := strings.TrimSuffix(tc.src, ".go") t.Run(name, func(t *testing.T) { t.Parallel() diff --git a/src/cmd/cgo/internal/testsanitizers/tsan_test.go b/src/cmd/cgo/internal/testsanitizers/tsan_test.go index 589db2e6bc4e34..8711e872fc960e 100644 --- a/src/cmd/cgo/internal/testsanitizers/tsan_test.go +++ b/src/cmd/cgo/internal/testsanitizers/tsan_test.go @@ -59,7 +59,7 @@ func TestTSAN(t *testing.T) { {src: "tsan_tracebackctxt", needsRuntime: true}, // Subdirectory } for _, tc := range cases { - tc := tc + name := strings.TrimSuffix(tc.src, ".go") t.Run(name, func(t *testing.T) { t.Parallel() diff --git a/src/cmd/cgo/internal/teststdio/stdio_test.go b/src/cmd/cgo/internal/teststdio/stdio_test.go index 9150281ae87ff3..a4e9c0be1645f7 100644 --- a/src/cmd/cgo/internal/teststdio/stdio_test.go +++ b/src/cmd/cgo/internal/teststdio/stdio_test.go @@ -56,7 +56,7 @@ func TestTestRun(t *testing.T) { "fib.go", "hello.go", } { - file := file + wantFile := strings.Replace(file, ".go", ".out", 1) t.Run(file, func(t *testing.T) { cmd := exec.Command(testenv.GoToolPath(t), "run", file) diff --git a/src/cmd/compile/internal/gc/compile.go b/src/cmd/compile/internal/gc/compile.go index 1eb4b8cc37c30c..13ef9398312633 100644 --- a/src/cmd/compile/internal/gc/compile.go +++ b/src/cmd/compile/internal/gc/compile.go @@ -194,7 +194,7 @@ func compileFunctions(profile *pgoir.Profile) { compile = func(fns []*ir.Func) { wg.Add(len(fns)) for _, fn := range fns { - fn := fn + queue(func(worker int) { ssagen.Compile(fn, worker, profile) compile(fn.Closures) diff --git a/src/cmd/compile/internal/noder/noder.go b/src/cmd/compile/internal/noder/noder.go index 79a90783336030..05309e95deaea3 100644 --- a/src/cmd/compile/internal/noder/noder.go +++ b/src/cmd/compile/internal/noder/noder.go @@ -41,7 +41,7 @@ func LoadPackage(filenames []string) { // Move the entire syntax processing logic into a separate goroutine to avoid blocking on the "sem". go func() { for i, filename := range filenames { - filename := filename + p := noders[i] sem <- struct{}{} go func() { diff --git a/src/cmd/compile/internal/ssa/_gen/main.go b/src/cmd/compile/internal/ssa/_gen/main.go index a26a4a4ea8a25f..55e959260a1882 100644 --- a/src/cmd/compile/internal/ssa/_gen/main.go +++ b/src/cmd/compile/internal/ssa/_gen/main.go @@ -175,7 +175,7 @@ func main() { genAllocators, } for _, a := range archs { - a := a // the funcs are ran concurrently at a later time + // the funcs are ran concurrently at a later time tasks = append(tasks, func() { genRules(a) genSplitLoadRules(a) @@ -184,7 +184,7 @@ func main() { } var wg sync.WaitGroup for _, task := range tasks { - task := task + wg.Add(1) go func() { task() diff --git a/src/cmd/compile/internal/test/reproduciblebuilds_test.go b/src/cmd/compile/internal/test/reproduciblebuilds_test.go index 466e0c3a38ae1b..c54e59be61a9d9 100644 --- a/src/cmd/compile/internal/test/reproduciblebuilds_test.go +++ b/src/cmd/compile/internal/test/reproduciblebuilds_test.go @@ -26,7 +26,7 @@ func TestReproducibleBuilds(t *testing.T) { } t.Parallel() for _, test := range tests { - test := test + t.Run(test, func(t *testing.T) { t.Parallel() var want []byte diff --git a/src/cmd/compile/internal/test/ssa_test.go b/src/cmd/compile/internal/test/ssa_test.go index 7d213fcecac458..f2fd142df6401a 100644 --- a/src/cmd/compile/internal/test/ssa_test.go +++ b/src/cmd/compile/internal/test/ssa_test.go @@ -163,7 +163,7 @@ func TestCode(t *testing.T) { // Now we have a test binary. Run it with all the tests as subtests of this one. for _, test := range tests { - test := test + if flag == ",softfloat" && !test.usesFloat { // No point in running the soft float version if the test doesn't use floats. continue diff --git a/src/cmd/compile/internal/types2/api_test.go b/src/cmd/compile/internal/types2/api_test.go index 4b7012e6c45e9f..bad89991831a30 100644 --- a/src/cmd/compile/internal/types2/api_test.go +++ b/src/cmd/compile/internal/types2/api_test.go @@ -2599,7 +2599,7 @@ func fn() { }) for _, test := range tests { - test := test + t.Run(test.name, func(t *testing.T) { if got := len(idents[test.name]); got != 1 { t.Fatalf("found %d identifiers named %s, want 1", got, test.name) diff --git a/src/cmd/compile/internal/types2/sizes_test.go b/src/cmd/compile/internal/types2/sizes_test.go index 9a772f4b1523fe..9f8608c777b82c 100644 --- a/src/cmd/compile/internal/types2/sizes_test.go +++ b/src/cmd/compile/internal/types2/sizes_test.go @@ -184,7 +184,7 @@ func main() { func TestGCSizes(t *testing.T) { types2.DefPredeclaredTestFuncs() for _, tc := range gcSizesTests { - tc := tc + t.Run(tc.name, func(t *testing.T) { t.Parallel() conf := types2.Config{Importer: defaultImporter(), Sizes: types2.SizesFor("gc", "amd64")} diff --git a/src/cmd/compile/internal/types2/stdlib_test.go b/src/cmd/compile/internal/types2/stdlib_test.go index ee49bbddfabb7f..6b3889b488300a 100644 --- a/src/cmd/compile/internal/types2/stdlib_test.go +++ b/src/cmd/compile/internal/types2/stdlib_test.go @@ -59,7 +59,6 @@ func TestStdlib(t *testing.T) { var wg sync.WaitGroup for dir := range dirFiles { - dir := dir cpulimit <- struct{}{} wg.Add(1) diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 6d3742525c6808..92efa548aea496 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -242,7 +242,7 @@ func (t *tester) run() { continue } anyIncluded = true - dt := dt // dt used in background after this iteration + // dt used in background after this iteration if err := dt.fn(&dt); err != nil { t.runPending(&dt) // in case that hasn't been done yet t.failed = true diff --git a/src/cmd/go/internal/modcmd/verify.go b/src/cmd/go/internal/modcmd/verify.go index d654ba26a4b57c..4c58f539c5a8ec 100644 --- a/src/cmd/go/internal/modcmd/verify.go +++ b/src/cmd/go/internal/modcmd/verify.go @@ -70,7 +70,7 @@ func runVerify(ctx context.Context, cmd *base.Command, args []string) { sem <- token{} errsc := make(chan []error, 1) errsChans[i] = errsc - mod := mod // use a copy to avoid data races + // use a copy to avoid data races go func() { errsc <- verifyMod(moduleLoaderState, ctx, mod) <-sem diff --git a/src/cmd/go/internal/modfetch/coderepo_test.go b/src/cmd/go/internal/modfetch/coderepo_test.go index a403e83b847bf0..af37ca58105a3f 100644 --- a/src/cmd/go/internal/modfetch/coderepo_test.go +++ b/src/cmd/go/internal/modfetch/coderepo_test.go @@ -819,7 +819,7 @@ func TestCodeRepoVersions(t *testing.T) { testenv.MustHaveExternalNetwork(t) fetcher := NewFetcher() for _, tt := range codeRepoVersionsTests { - tt := tt + t.Run(strings.ReplaceAll(tt.path, "/", "_"), func(t *testing.T) { if strings.Contains(tt.path, "gopkg.in") { testenv.SkipFlaky(t, 54503) diff --git a/src/cmd/go/internal/modget/get.go b/src/cmd/go/internal/modget/get.go index b731ccc047d91b..d8a5982125bb82 100644 --- a/src/cmd/go/internal/modget/get.go +++ b/src/cmd/go/internal/modget/get.go @@ -824,7 +824,7 @@ func (r *resolver) performLocalQueries(loaderstate *modload.State, ctx context.C // build list. func (r *resolver) performWildcardQueries(loaderstate *modload.State, ctx context.Context) { for _, q := range r.wildcardQueries { - q := q + r.work.Add(func() { if q.version == "none" { r.queryNone(loaderstate, ctx, q) @@ -1027,7 +1027,7 @@ func (r *resolver) checkWildcardVersions(loaderstate *modload.State, ctx context // literals once. func (r *resolver) performPathQueries(loaderstate *modload.State, ctx context.Context) { for _, q := range r.pathQueries { - q := q + r.work.Add(func() { if q.version == "none" { r.queryNone(loaderstate, ctx, q) @@ -1724,7 +1724,7 @@ func (r *resolver) checkPackageProblems(loaderstate *modload.State, ctx context. } sort.Slice(retractions, func(i, j int) bool { return retractions[i].m.Path < retractions[j].m.Path }) for i := range retractions { - i := i + r.work.Add(func() { err := loaderstate.CheckRetractions(ctx, retractions[i].m) if _, ok := errors.AsType[*modload.ModuleRetractedError](err); ok { @@ -1745,7 +1745,7 @@ func (r *resolver) checkPackageProblems(loaderstate *modload.State, ctx context. } sort.Slice(deprecations, func(i, j int) bool { return deprecations[i].m.Path < deprecations[j].m.Path }) for i := range deprecations { - i := i + r.work.Add(func() { deprecation, err := modload.CheckDeprecation(loaderstate, ctx, deprecations[i].m) if err != nil || deprecation == "" { @@ -1774,7 +1774,7 @@ func (r *resolver) checkPackageProblems(loaderstate *modload.State, ctx context. // need previously. We can't handle that case without loading 'all'. sumErrs := make([]error, len(r.buildList)) for i := range r.buildList { - i := i + m := r.buildList[i] mActual := m if mRepl := modload.Replacement(loaderstate, m); mRepl.Path != "" { diff --git a/src/cmd/go/internal/modload/buildlist.go b/src/cmd/go/internal/modload/buildlist.go index 37c2a6c759f0db..2b9f0e0b80815e 100644 --- a/src/cmd/go/internal/modload/buildlist.go +++ b/src/cmd/go/internal/modload/buildlist.go @@ -918,7 +918,7 @@ func tidyPrunedRoots(loaderstate *State, ctx context.Context, mainModule module. // that are only indirectly required. It is as unambiguous as possible. continue } - pkg := pkg + q.Add(func() { skipModFile := true _, _, _, _, err := importFromModules(loaderstate, ctx, pkg.path, tidy, nil, skipModFile) @@ -1229,7 +1229,7 @@ func spotCheckRoots(loaderstate *State, ctx context.Context, rs *Requirements, m work := par.NewQueue(runtime.GOMAXPROCS(0)) for m := range mods { - m := m + work.Add(func() { if ctx.Err() != nil { return diff --git a/src/cmd/go/internal/modload/load.go b/src/cmd/go/internal/modload/load.go index a432862429b11c..2c32cffd23b7b5 100644 --- a/src/cmd/go/internal/modload/load.go +++ b/src/cmd/go/internal/modload/load.go @@ -1578,7 +1578,6 @@ func (ld *loader) resolveMissingImports(loaderstate *State, ctx context.Context) continue } - pkg := pkg var mod module.Version ld.work.Add(func() { var err error @@ -1762,7 +1761,7 @@ func (ld *loader) preloadRootModules(loaderstate *State, ctx context.Context, ro needc := make(chan map[module.Version]bool, 1) needc <- map[module.Version]bool{} for _, path := range rootPkgs { - path := path + ld.work.Add(func() { // First, try to identify the module containing the package using only roots. // @@ -2131,7 +2130,6 @@ func (ld *loader) checkTidyCompatibility(loaderstate *State, ctx context.Context continue } - pkg := pkg ld.work.Add(func() { mod, _, _, _, err := importFromModules(loaderstate, ctx, pkg.path, rs, mg, ld.skipImportModFiles) if mod != pkg.mod { diff --git a/src/cmd/go/internal/modload/query_test.go b/src/cmd/go/internal/modload/query_test.go index a465fab5db3933..da7745cf9c0746 100644 --- a/src/cmd/go/internal/modload/query_test.go +++ b/src/cmd/go/internal/modload/query_test.go @@ -179,7 +179,7 @@ func TestQuery(t *testing.T) { } return nil } - tt := tt + t.Run(strings.ReplaceAll(tt.path, "/", "_")+"/"+tt.query+"/"+tt.current+"/"+allow, func(t *testing.T) { t.Parallel() diff --git a/src/cmd/go/internal/web/url_test.go b/src/cmd/go/internal/web/url_test.go index 8f462f53259b5c..5e7a2a882ebb41 100644 --- a/src/cmd/go/internal/web/url_test.go +++ b/src/cmd/go/internal/web/url_test.go @@ -14,7 +14,6 @@ func TestURLToFilePath(t *testing.T) { if tc.url == "" { continue } - tc := tc t.Run(tc.url, func(t *testing.T) { u, err := url.Parse(tc.url) @@ -46,7 +45,6 @@ func TestURLFromFilePath(t *testing.T) { if tc.filePath == "" { continue } - tc := tc t.Run(tc.filePath, func(t *testing.T) { u, err := urlFromFilePath(tc.filePath) diff --git a/src/cmd/go/script_test.go b/src/cmd/go/script_test.go index 390a36723787f4..4e0f2baef7487e 100644 --- a/src/cmd/go/script_test.go +++ b/src/cmd/go/script_test.go @@ -107,7 +107,7 @@ func TestScript(t *testing.T) { t.Fatal(err) } for _, file := range files { - file := file + name := strings.TrimSuffix(filepath.Base(file), ".txt") t.Run(name, func(t *testing.T) { t.Parallel() diff --git a/src/cmd/internal/obj/ppc64/asm9.go b/src/cmd/internal/obj/ppc64/asm9.go index a39c206c22da9e..58ddf874a2b820 100644 --- a/src/cmd/internal/obj/ppc64/asm9.go +++ b/src/cmd/internal/obj/ppc64/asm9.go @@ -1267,7 +1267,7 @@ func buildop(ctxt *obj.Link) { // Configure the optab entries which may generate prefix opcodes. prefixOptab := make([]Optab, 0, len(prefixableOptab)) for _, entry := range prefixableOptab { - entry := entry + if pfxEnabled && buildcfg.GOPPC64 >= entry.minGOPPC64 { // Enable prefix opcode generation and resize. entry.ispfx = true diff --git a/src/cmd/internal/par/queue_test.go b/src/cmd/internal/par/queue_test.go index 1331e65f98a81f..2e5e9bfb2d28d3 100644 --- a/src/cmd/internal/par/queue_test.go +++ b/src/cmd/internal/par/queue_test.go @@ -51,7 +51,7 @@ func TestQueueBacklog(t *testing.T) { unblock := make(chan struct{}) for i := range started { started[i] = make(chan struct{}) - i := i + q.Add(func() { close(started[i]) <-unblock diff --git a/src/cmd/internal/script/scripttest/run.go b/src/cmd/internal/script/scripttest/run.go index 2a909f656d5e89..0d68fc95d403e2 100644 --- a/src/cmd/internal/script/scripttest/run.go +++ b/src/cmd/internal/script/scripttest/run.go @@ -202,7 +202,7 @@ func RunTests(t *testing.T, ctx context.Context, engine *script.Engine, env []st t.Fatal("no testdata") } for _, file := range files { - file := file + name := strings.TrimSuffix(filepath.Base(file), ".txt") t.Run(name, func(t *testing.T) { t.Parallel() diff --git a/src/cmd/link/dwarf_test.go b/src/cmd/link/dwarf_test.go index 3900ae065457ca..3cae830360cd91 100644 --- a/src/cmd/link/dwarf_test.go +++ b/src/cmd/link/dwarf_test.go @@ -32,7 +32,7 @@ func testDWARF(t *testing.T, buildmode string, expectDWARF bool, env ...string) t.Parallel() for _, prog := range []string{"testprog", "testprogcgo"} { - prog := prog + expectDWARF := expectDWARF if runtime.GOOS == "aix" && prog == "testprogcgo" { extld := os.Getenv("CC") diff --git a/src/cmd/link/internal/ld/deadcode_test.go b/src/cmd/link/internal/ld/deadcode_test.go index 6962a4eba01195..acaf13820566ec 100644 --- a/src/cmd/link/internal/ld/deadcode_test.go +++ b/src/cmd/link/internal/ld/deadcode_test.go @@ -34,7 +34,7 @@ func TestDeadcode(t *testing.T) { []string{"main.large"}}, } for _, test := range tests { - test := test + t.Run(test.src, func(t *testing.T) { t.Parallel() src := filepath.Join("testdata", "deadcode", test.src+".go") diff --git a/src/cmd/link/internal/ld/dwarf_test.go b/src/cmd/link/internal/ld/dwarf_test.go index cc493f2c699814..6206aef0bf1f7e 100644 --- a/src/cmd/link/internal/ld/dwarf_test.go +++ b/src/cmd/link/internal/ld/dwarf_test.go @@ -408,7 +408,7 @@ func main() {} }, } for _, tc := range tests { - tc := tc + t.Run(tc.name, func(t *testing.T) { t.Parallel() @@ -473,7 +473,7 @@ func main() { }, } for _, tc := range tests { - tc := tc + t.Run(tc.name, func(t *testing.T) { t.Parallel() @@ -555,7 +555,7 @@ func main() { }, } for _, tc := range tests { - tc := tc + t.Run(tc.name, func(t *testing.T) { t.Parallel() @@ -1980,7 +1980,7 @@ func TestZeroSizedVariable(t *testing.T) { // See go.dev/issues/54615. for _, opt := range []string{NoOpt, DefaultOpt} { - opt := opt + t.Run(opt, func(t *testing.T) { _, ex := gobuildAndExamine(t, zeroSizedVarProg, opt) diff --git a/src/cmd/link/internal/ld/ld_test.go b/src/cmd/link/internal/ld/ld_test.go index 64b86f3a0b1153..9e23276ac14408 100644 --- a/src/cmd/link/internal/ld/ld_test.go +++ b/src/cmd/link/internal/ld/ld_test.go @@ -354,7 +354,7 @@ func main() { }, } for _, tt := range tests { - tt := tt + t.Run(tt.name, func(t *testing.T) { t.Parallel() tempDir := t.TempDir() diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 22ee13dff87eca..35d080142575b5 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -1306,7 +1306,7 @@ func (ctxt *Link) hostobjCopy() (paths []string) { var wg sync.WaitGroup sema := make(chan struct{}, runtime.NumCPU()) // limit open file descriptors for i, h := range hostobj { - h := h + dst := filepath.Join(*flagTmpdir, fmt.Sprintf("%06d.o", i)) paths = append(paths, dst) if ctxt.Debugvlog != 0 { diff --git a/src/cmd/link/link_test.go b/src/cmd/link/link_test.go index bc7504e5b1c39a..c09d34d8351c36 100644 --- a/src/cmd/link/link_test.go +++ b/src/cmd/link/link_test.go @@ -1712,7 +1712,7 @@ func TestCheckLinkname(t *testing.T) { {"badlinkname.go", true}, } for _, test := range tests { - test := test + t.Run(test.src, func(t *testing.T) { t.Parallel() src := "./testdata/linkname/" + test.src diff --git a/src/os/os_windows_test.go b/src/os/os_windows_test.go index d549608b482d63..2c0b214b6518ab 100644 --- a/src/os/os_windows_test.go +++ b/src/os/os_windows_test.go @@ -1234,7 +1234,7 @@ func TestReadlink(t *testing.T) { {junction: false, dir: false, drive: false, relative: true}, } for _, tt := range tests { - tt := tt + var name string if tt.junction { name = "junction"