Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[release-branch.go1.15] cmd/go: error out of 'go mod tidy' if the go …
…version is newer than supported This backports the test from CL 319669, but — because of extensive changes to the module loader during the Go 1.16 and 1.17 cycles — the implementation is entirely different. (This implementation is based on the addGoStmt function already present in init.go.) Fixes #46143 Updates #46142 Change-Id: Ib7a0a159e53cbe476be6aa9a050add10cc750dec Reviewed-on: https://go-review.googlesource.com/c/go/+/319710 Trust: Bryan C. Mills <bcmills@google.com> Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com> TryBot-Result: Go Bot <gobot@golang.org>
- Loading branch information
1 parent
d9cffab
commit fbf844b
Showing
3 changed files
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# https://golang.org/issue/46142: 'go mod tidy' should error out if the version | ||
# in the go.mod file is newer than the most recent supported version. | ||
|
||
cp go.mod go.mod.orig | ||
|
||
|
||
# If the go.mod file specifies an unsupported Go version, 'go mod tidy' should | ||
# refuse to edit it: we don't know what a tidy go.mod file for that version | ||
# would look like. | ||
|
||
! go mod tidy | ||
stderr 'go mod tidy: go.mod file indicates go 2000.0, but maximum supported version is '$goversion'$' | ||
cmp go.mod go.mod.orig | ||
|
||
|
||
-- go.mod -- | ||
module example.net/from/the/future | ||
|
||
go 2000.0 | ||
|
||
replace example.net/m v0.0.0 => ./m | ||
-- x.go -- | ||
package x | ||
|
||
import "example.net/m" | ||
-- m/go.mod -- | ||
module example.net/m | ||
|
||
go 1.17 | ||
-- m/m.go -- | ||
package m |