]> Cypherpunks repositories - gostls13.git/commit
cmd/go/internal/modindex: avoid walking modules when not needed
authorBryan C. Mills <bcmills@google.com>
Thu, 16 Jun 2022 22:02:11 +0000 (18:02 -0400)
committerGopher Robot <gobot@golang.org>
Tue, 21 Jun 2022 17:32:57 +0000 (17:32 +0000)
commit530511bacccdea0bb8a0fec644887c2613535c50
tree8d0f74fac7b4f8cae2d35cd8189329a75287f5e5
parentc2d373d5d1802d7479f3c81dcf01d41bef3646dd
cmd/go/internal/modindex: avoid walking modules when not needed

Due to a missed condition in CL 412394, we were walking all modules
(instead of just the ones contained in GOROOT) at each invocation of a
devel version of cmd/go.

Moreover, while we were running cmd/go tests, we were re-walking
GOROOT at each 'go' invocation in the test even though we expect
GOROOT to be stable within a test run.

This change always avoids walking non-GOROOT modules, and also adds a
salt (configurable via GODEBUG) and uses it to avoid walking GOROOT
modules when GOROOT is known to be stable (such as over the course of
a 'cmd/go' test run).

This should fix the cmd/go test timeouts that are currently occurring
on the dragonfly-amd64 builder, such as this one:
https://build.golang.org/log/21c01c3ae5490d387d84abeaf872b3a0a76ab8e5

Updates #53290.

Change-Id: Ic807d215831a3cd21c63e0bccd3d7acd10d8f2b7
Reviewed-on: https://go-review.googlesource.com/c/go/+/412779
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
src/cmd/go/go_test.go
src/cmd/go/internal/modindex/read.go