]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: avoid duplicate errors in module load
authorRuss Cox <rsc@golang.org>
Thu, 25 May 2023 04:32:39 +0000 (00:32 -0400)
committerGopher Robot <gobot@golang.org>
Thu, 25 May 2023 17:51:34 +0000 (17:51 +0000)
Just a missing base.ExitIfErrors.

Fixes #46160.

Change-Id: I41949b0b7b036da94ba269220951677585d3f8e9
Reviewed-on: https://go-review.googlesource.com/c/go/+/498122
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Auto-Submit: Russ Cox <rsc@golang.org>

src/cmd/go/internal/modload/load.go
src/cmd/go/testdata/script/mod_go_version.txt
src/cmd/go/testdata/script/mod_tidy_compat_implicit.txt
src/cmd/go/testdata/script/mod_tidy_compat_incompatible.txt
src/cmd/go/testdata/script/mod_tidy_compat_irrelevant.txt

index 9eb9e6ddf8ea583f96f33b76477555e08a50d3f1..6c888116fec73b6ea2de30141f94538545ef1790 100644 (file)
@@ -1056,6 +1056,7 @@ func loadFromRoots(ctx context.Context, params loaderParams) *loader {
                        ld.errorf("go: %v\n", err)
                }
        }
+       base.ExitIfErrors() // or we will report them again
 
        for {
                ld.reset()
index e78ef3c13996bab83daf97371bb45e0558177eaf..f0af3ae307e2e398605c061e3da2d51f09043d4f 100644 (file)
@@ -3,11 +3,10 @@
 env GO111MODULE=on
 env TESTGO_VERSION=go1.21
 
-# TODO(rsc): go list prints the error twice. Why?
 ! go list
-stderr '^go: sub@v1.0.0: sub requires go 1.999 \(running go 1.21; go.mod sets go 1.1\)$'
+stderr -count=1 '^go: sub@v1.0.0: sub requires go 1.999 \(running go 1.21; go.mod sets go 1.1\)$'
 ! go build sub
-stderr '^go: sub@v1.0.0: sub requires go 1.999 \(running go 1.21; go.mod sets go 1.1\)$'
+stderr -count=1 '^go: sub@v1.0.0: sub requires go 1.999 \(running go 1.21; go.mod sets go 1.1\)$'
 
 -- go.mod --
 module m
index 8b5869780c2e77dd4d5a5ef5f29a1700f3cf7016..0eded0f4588aadf30e7717ae5e56e785ce3d57a6 100644 (file)
@@ -51,8 +51,7 @@ stdout '^example.net/lazy v0.1.0$'
 go mod edit -go=1.16
 ! go list -deps -test -f $MODFMT ./...
 
-       # TODO(#46160): -count=1 instead of -count=2.
-stderr -count=2 '^go: example\.net/lazy@v0\.1\.0 requires\n\texample\.com/retract/incompatible@v1\.0\.0: missing go\.sum entry for go\.mod file; to add it:\n\tgo mod download example\.com/retract/incompatible$'
+stderr -count=1 '^go: example\.net/lazy@v0\.1\.0 requires\n\texample\.com/retract/incompatible@v1\.0\.0: missing go\.sum entry for go\.mod file; to add it:\n\tgo mod download example\.com/retract/incompatible$'
 
 
 # If we combine a Go 1.16 go.sum file...
index 1fef4b629c6602d460dc3f0194bde3307eb7f221..e336210003748105a42dba6e2aedec2fd39d9157 100644 (file)
@@ -48,8 +48,7 @@ cmp go.mod go.mod.orig
 
 go mod edit -go=1.16
 ! go list -f $MODFMT -deps ./...
-       # TODO(#46160): -count=1 instead of -count=2.
-stderr -count=2 '^go: example\.net/lazy@v0\.1\.0 requires\n\texample\.net/requireincompatible@v0\.1\.0 requires\n\texample\.com/retract/incompatible@v2\.0\.0\+incompatible: missing go.sum entry for go.mod file; to add it:\n\tgo mod download example.com/retract/incompatible$'
+stderr -count=1 '^go: example\.net/lazy@v0\.1\.0 requires\n\texample\.net/requireincompatible@v0\.1\.0 requires\n\texample\.com/retract/incompatible@v2\.0\.0\+incompatible: missing go.sum entry for go.mod file; to add it:\n\tgo mod download example.com/retract/incompatible$'
 
 
 # There are two ways for the module author to bring the two into alignment.
index 59926d06d69afcc7b5fc399b24a110cd8f999276..e4eaea0dd6242abc14aca4dd51d3c669f8eeebcd 100644 (file)
@@ -47,8 +47,7 @@ cmp stdout out-117.txt
 
 go mod edit -go=1.16
 ! go list -deps -test -f $MODFMT all
-       # TODO(#46160): -count=1 instead of -count=2.
-stderr -count=2 '^go: example.net/lazy@v0.1.0 requires\n\texample.com/retract/incompatible@v1.0.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download example.com/retract/incompatible$'
+stderr -count=1 '^go: example.net/lazy@v0.1.0 requires\n\texample.com/retract/incompatible@v1.0.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download example.com/retract/incompatible$'
 
 
 -- go.mod --