Skip to content

Commit

Permalink
cmd/go: write changes to go.mod and go.sum after loading the command-…
Browse files Browse the repository at this point in the history
…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>
  • Loading branch information
Bryan C. Mills authored and gopherbot committed May 4, 2022
1 parent 265b5fd commit cf69725
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/cmd/go/internal/modload/load.go
Expand Up @@ -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,
Expand Down
35 changes: 35 additions & 0 deletions src/cmd/go/testdata/script/mod_run_issue52331.txt
@@ -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)
}

0 comments on commit cf69725

Please sign in to comment.