]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go/internal/modindex: fix obvious bug using failed type assertion
authorMichael Matloob <matloob@golang.org>
Tue, 30 Dec 2025 20:41:41 +0000 (15:41 -0500)
committerGopher Robot <gobot@golang.org>
Tue, 30 Dec 2025 22:29:01 +0000 (14:29 -0800)
adonovan pointed out this bug in the review of CL 733320 and this seems
to be the cause of all those list_empty_importpath flakes. It makes
sense that something nondeterministic would be tied up with the module
index because the state of the cache could depend on the order tests are
run in.

Also remove the parts of the test that accept the flaky behavior so we
can verify the issue has been resolved.

For #73976

Change-Id: Ib64ce6b8eed1dc8d327b7c5e842c1e716a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/733321
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
Auto-Submit: Michael Matloob <matloob@golang.org>
Reviewed-by: Michael Matloob <matloob@google.com>
src/cmd/go/internal/modindex/scan.go
src/cmd/go/testdata/script/list_empty_importpath.txt

index af2c0abe046d7203fc73ec7056223240af93dc69..beded695bfc873f75cb5096818c5964c2cba5581 100644 (file)
@@ -112,10 +112,10 @@ func parseErrorToString(err error) string {
                return ""
        }
        var p parseError
-       if e, ok := err.(scanner.ErrorList); ok {
-               p.ErrorList = &e
+       if errlist, ok := err.(scanner.ErrorList); ok {
+               p.ErrorList = &errlist
        } else {
-               p.ErrorString = e.Error()
+               p.ErrorString = err.Error()
        }
        s, err := json.Marshal(p)
        if err != nil {
index fe4210322bb4f19dbe9a19be25d039e03886220a..0960a7795d12eab37b0a5de5aa047b7e1e4715b6 100644 (file)
@@ -1,15 +1,6 @@
 ! go list all
 ! stderr 'panic'
-[!GOOS:windows] [!GOOS:solaris] [!GOOS:freebsd] [!GOOS:openbsd] [!GOOS:netbsd] stderr 'invalid import path'
-# #73976: Allow 'no errors' on Windows, Solaris, and BSD until issue
-# is resolved to prevent flakes. 'no errors' is printed by
-# empty scanner.ErrorList errors so that's probably where the
-# message is coming from, though we don't know how.
-[GOOS:windows] stderr 'invalid import path|no errors'
-[GOOS:solaris] stderr 'invalid import path|no errors'
-[GOOS:freebsd] stderr 'invalid import path|no errors'
-[GOOS:openbsd] stderr 'invalid import path|no errors'
-[GOOS:netbsd] stderr 'invalid import path|no errors'
+stderr 'invalid import path'
 
 # go list produces a package for 'p' but not for ''
 go list -e all