1
0
mirror of https://github.com/golang/go synced 2024-11-24 02:00:20 -07:00

cmd/go: write changes to go.mod and go.sum after loading the command-line-arguments package

This entrypoint was missed in CL 349600, and the behavior happened not
to be covered by existing tests.

Fixes #52331.

Change-Id: Iccf12e8e633215abe4bfa1c3ca2fe3a8391b5ba5
Reviewed-on: https://go-review.googlesource.com/c/go/+/401536
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
This commit is contained in:
Bryan C. Mills 2022-04-21 13:09:17 -04:00 committed by Gopher Robot
parent 265b5fd2f1
commit cf697253ab
2 changed files with 41 additions and 0 deletions

View File

@ -717,6 +717,12 @@ func ImportFromFiles(ctx context.Context, gofiles []string) {
},
})
requirements = loaded.requirements
if !ExplicitWriteGoMod {
if err := commitRequirements(ctx); err != nil {
base.Fatalf("go: %v", err)
}
}
}
// DirImportPath returns the effective import path for dir,

View File

@ -0,0 +1,35 @@
# Regression test for https://go.dev/issue/52331: 'go run -mod=mod'
# failed to write go.mod and go.sum with the resolved dependencies.
[short] skip
! go run main.go
# stderr '^main\.go:6:2: no required module provides package example\.com/version; to add it:\n\tgo get example\.com/version\n\z'
go run -mod=mod main.go
cmp go.mod go.mod.want
grep -count=1 '^example\.com/version v1.1.0 h1:' go.sum
grep -count=1 '^example\.com/version v1.1.0/go.mod h1:' go.sum
-- go.mod --
module example
go 1.17
-- go.mod.want --
module example
go 1.17
require example.com/version v1.1.0 // indirect
-- main.go --
package main
import (
"fmt"
"example.com/version"
)
func main() {
fmt.Println(version.V)
}