blob: c67696dd6e008d1de55435437a58163f4ac6a2c1 [file] [log] [blame]
# Test editing go.work files.
go work init m
cmpenv go.work go.work.want_initial
go work edit -use n
cmpenv go.work go.work.want_use_n
grep go go.work
go work edit -go none
! grep go go.work
go work edit -go 1.18
cmp go.work go.work.want_go_118
go work edit -dropuse m
cmp go.work go.work.want_dropuse_m
go work edit -replace=x.1@v1.3.0=y.1@v1.4.0 -replace='x.1@v1.4.0 = ../z'
cmp go.work go.work.want_add_replaces
go work edit -use n -use ../a -use /b -use c -use c
cmp go.work go.work.want_multiuse
go work edit -dropuse /b -dropuse n
cmp go.work go.work.want_multidropuse
go work edit -dropreplace='x.1@v1.4.0'
cmp go.work go.work.want_dropreplace
go work edit -print -go 1.19 -use b -dropuse c -replace 'x.1@v1.4.0 = ../z' -dropreplace x.1 -dropreplace x.1@v1.3.0
cmp stdout go.work.want_print
go work edit -json -go 1.19 -use b -dropuse c -replace 'x.1@v1.4.0 = ../z' -dropreplace x.1 -dropreplace x.1@v1.3.0
cmp stdout go.work.want_json
env GOWORK=$GOPATH/src/unformatted
go work edit -print -fmt
cmp stdout formatted
-- m/go.mod --
module m
go 1.18
-- go.work.want_initial --
go $goversion
use ./m
-- go.work.want_use_n --
go $goversion
use (
./m
./n
)
-- go.work.want_go_118 --
go 1.18
use (
./m
./n
)
-- go.work.want_dropuse_m --
go 1.18
use ./n
-- go.work.want_add_replaces --
go 1.18
use ./n
replace (
x.1 v1.3.0 => y.1 v1.4.0
x.1 v1.4.0 => ../z
)
-- go.work.want_multiuse --
go 1.18
use (
../a
./c
./n
/b
)
replace (
x.1 v1.3.0 => y.1 v1.4.0
x.1 v1.4.0 => ../z
)
-- go.work.want_multidropuse --
go 1.18
use (
../a
./c
)
replace (
x.1 v1.3.0 => y.1 v1.4.0
x.1 v1.4.0 => ../z
)
-- go.work.want_dropreplace --
go 1.18
use (
../a
./c
)
replace x.1 v1.3.0 => y.1 v1.4.0
-- go.work.want_print --
go 1.19
use (
../a
./b
)
replace x.1 v1.4.0 => ../z
-- go.work.want_json --
{
"Go": "1.19",
"Use": [
{
"DiskPath": "../a"
},
{
"DiskPath": "./b"
}
],
"Replace": [
{
"Old": {
"Path": "x.1",
"Version": "v1.4.0"
},
"New": {
"Path": "../z"
}
}
]
}
-- unformatted --
go 1.18
use (
a
b
c
)
replace (
x.1 v1.3.0 => y.1 v1.4.0
x.1 v1.4.0 => ../z
)
-- formatted --
go 1.18
use (
a
b
c
)
replace (
x.1 v1.3.0 => y.1 v1.4.0
x.1 v1.4.0 => ../z
)