11env GO111MODULE=on
22
3- # Set go version so that we can test produced mod files for equality.
4- env TESTGO_VERSION=go1.26.0
5-
63# Test that go mod edits and related mod flags work.
74# Also test that they can use a dummy name that isn't resolvable. golang.org/issue/24100
85
@@ -13,16 +10,16 @@ stderr 'cannot determine module path'
1310
1411go mod init x.x/y/z
1512stderr 'creating new go.mod: module x.x/y/z'
16- cmp go.mod $WORK/go.mod.init
13+ cmpenv go.mod $WORK/go.mod.init
1714
1815! go mod init
19- cmp go.mod $WORK/go.mod.init
16+ cmpenv go.mod $WORK/go.mod.init
2017
2118# go mod edits
2219go mod edit -droprequire=x.1 -require=x.1@v1.0.0 -require=x.2@v1.1.0 -droprequire=x.2 -exclude='x.1 @ v1.2.0' -exclude=x.1@v1.2.1 -exclude=x.1@v2.0.0+incompatible -replace=x.1@v1.3.0=y.1@v1.4.0 -replace='x.1@v1.4.0 = ../z' -retract=v1.6.0 -retract=[v1.1.0,v1.2.0] -retract=[v1.3.0,v1.4.0] -retract=v1.0.0
23- cmp go.mod $WORK/go.mod.edit1
20+ cmpenv go.mod $WORK/go.mod.edit1
2421go mod edit -droprequire=x.1 -dropexclude=x.1@v1.2.1 -dropexclude=x.1@v2.0.0+incompatible -dropreplace=x.1@v1.3.0 -require=x.3@v1.99.0 -dropretract=v1.0.0 -dropretract=[v1.1.0,v1.2.0]
25- cmp go.mod $WORK/go.mod.edit2
22+ cmpenv go.mod $WORK/go.mod.edit2
2623
2724# -exclude and -retract reject invalid versions.
2825! go mod edit -exclude=example.com/m@bad
@@ -39,11 +36,11 @@ stderr '^go: -exclude=example.com/m/v2@v1\.0\.0: version "v1\.0\.0" invalid: sho
3936! go mod edit -exclude=gopkg.in/example.v1@v2.0.0
4037stderr '^go: -exclude=gopkg\.in/example\.v1@v2\.0\.0: version "v2\.0\.0" invalid: should be v1, not v2$'
4138
42- cmp go.mod $WORK/go.mod.edit2
39+ cmpenv go.mod $WORK/go.mod.edit2
4340
4441# go mod edit -json
4542go mod edit -json
46- cmp stdout $WORK/go.mod.json
43+ cmpenv stdout $WORK/go.mod.json
4744
4845# go mod edit -json (retractions with rationales)
4946go mod edit -json $WORK/go.mod.retractrationale
@@ -59,66 +56,66 @@ cmp stdout $WORK/go.mod.empty.json
5956
6057# go mod edit -replace
6158go mod edit -replace=x.1@v1.3.0=y.1/v2@v2.3.5 -replace=x.1@v1.4.0=y.1/v2@v2.3.5
62- cmp go.mod $WORK/go.mod.edit3
59+ cmpenv go.mod $WORK/go.mod.edit3
6360go mod edit -replace=x.1=y.1/v2@v2.3.6
64- cmp go.mod $WORK/go.mod.edit4
61+ cmpenv go.mod $WORK/go.mod.edit4
6562go mod edit -dropreplace=x.1
66- cmp go.mod $WORK/go.mod.edit5
63+ cmpenv go.mod $WORK/go.mod.edit5
6764go mod edit -replace=x.1=../y.1/@v2
68- cmp go.mod $WORK/go.mod.edit6
65+ cmpenv go.mod $WORK/go.mod.edit6
6966! go mod edit -replace=x.1=y.1/@v2
7067stderr '^go: -replace=x.1=y.1/@v2: invalid new path: malformed import path "y.1/": trailing slash$'
7168
7269# go mod edit -fmt
7370cp $WORK/go.mod.badfmt go.mod
7471go mod edit -fmt -print # -print should avoid writing file
75- cmp stdout $WORK/go.mod.goodfmt
72+ cmpenv stdout $WORK/go.mod.goodfmt
7673cmp go.mod $WORK/go.mod.badfmt
7774go mod edit -fmt # without -print, should write file (and nothing to stdout)
7875! stdout .
79- cmp go.mod $WORK/go.mod.goodfmt
76+ cmpenv go.mod $WORK/go.mod.goodfmt
8077
8178# go mod edit -module
8279cd $WORK/m
8380go mod init a.a/b/c
8481go mod edit -module x.x/y/z
85- cmp go.mod go.mod.edit
82+ cmpenv go.mod go.mod.edit
8683
8784# golang.org/issue/30513: don't require go-gettable module paths.
8885cd $WORK/local
8986go mod init foo
9087go mod edit -module local-only -require=other-local@v1.0.0 -replace other-local@v1.0.0=./other
91- cmp go.mod go.mod.edit
88+ cmpenv go.mod go.mod.edit
9289
9390# go mod edit -godebug
9491cd $WORK/g
9592cp go.mod.start go.mod
9693go mod edit -godebug key=value
97- cmp go.mod go.mod.edit
94+ cmpenv go.mod go.mod.edit
9895go mod edit -dropgodebug key2
99- cmp go.mod go.mod.edit
96+ cmpenv go.mod go.mod.edit
10097go mod edit -dropgodebug key
101- cmp go.mod go.mod.start
98+ cmpenv go.mod go.mod.start
10299
103100# go mod edit -tool
104101cd $WORK/h
105102cp go.mod.start go.mod
106103go mod edit -tool example.com/tool
107- cmp go.mod go.mod.edit
104+ cmpenv go.mod go.mod.edit
108105go mod edit -droptool example.com/tool2
109- cmp go.mod go.mod.edit
106+ cmpenv go.mod go.mod.edit
110107go mod edit -droptool example.com/tool
111- cmp go.mod go.mod.start
108+ cmpenv go.mod go.mod.start
112109
113110# go mod edit -ignore
114111cd $WORK/i
115112cp go.mod.start go.mod
116113go mod edit -ignore example.com/ignore
117- cmp go.mod go.mod.edit
114+ cmpenv go.mod go.mod.edit
118115go mod edit -dropignore example.com/ignore2
119- cmp go.mod go.mod.edit
116+ cmpenv go.mod go.mod.edit
120117go mod edit -dropignore example.com/ignore
121- cmp go.mod go.mod.start
118+ cmpenv go.mod go.mod.start
122119
123120-- x.go --
124121package x
@@ -129,11 +126,11 @@ package w
129126-- $WORK/go.mod.init --
130127module x.x/y/z
131128
132- go 1.25.0
129+ go $goversion
133130-- $WORK/go.mod.edit1 --
134131module x.x/y/z
135132
136- go 1.25.0
133+ go $goversion
137134
138135require x.1 v1.0.0
139136
@@ -157,7 +154,7 @@ retract (
157154-- $WORK/go.mod.edit2 --
158155module x.x/y/z
159156
160- go 1.25.0
157+ go $goversion
161158
162159exclude x.1 v1.2.0
163160
@@ -174,7 +171,7 @@ require x.3 v1.99.0
174171 "Module": {
175172 "Path": "x.x/y/z"
176173 },
177- "Go": "1.25.0 ",
174+ "Go": "$goversion ",
178175 "Require": [
179176 {
180177 "Path": "x.3",
@@ -214,7 +211,7 @@ require x.3 v1.99.0
214211-- $WORK/go.mod.edit3 --
215212module x.x/y/z
216213
217- go 1.25.0
214+ go $goversion
218215
219216exclude x.1 v1.2.0
220217
@@ -232,7 +229,7 @@ require x.3 v1.99.0
232229-- $WORK/go.mod.edit4 --
233230module x.x/y/z
234231
235- go 1.25.0
232+ go $goversion
236233
237234exclude x.1 v1.2.0
238235
@@ -247,7 +244,7 @@ require x.3 v1.99.0
247244-- $WORK/go.mod.edit5 --
248245module x.x/y/z
249246
250- go 1.25.0
247+ go $goversion
251248
252249exclude x.1 v1.2.0
253250
@@ -260,7 +257,7 @@ require x.3 v1.99.0
260257-- $WORK/go.mod.edit6 --
261258module x.x/y/z
262259
263- go 1.25.0
260+ go $goversion
264261
265262exclude x.1 v1.2.0
266263
@@ -275,7 +272,7 @@ replace x.1 => ../y.1/@v2
275272-- $WORK/local/go.mod.edit --
276273module local-only
277274
278- go 1.25.0
275+ go $goversion
279276
280277require other-local v1.0.0
281278
@@ -307,7 +304,7 @@ retract [v1.8.1, v1.8.2]
307304-- $WORK/m/go.mod.edit --
308305module x.x/y/z
309306
310- go 1.25.0
307+ go $goversion
311308-- $WORK/go.mod.retractrationale --
312309module x.x/y/z
313310
@@ -408,4 +405,4 @@ module g
408405
409406go 1.24
410407
411- ignore example.com/ignore
408+ ignore example.com/ignore
0 commit comments