diff options
Diffstat (limited to 'src/cmd/go/testdata/script/mod_get_downup_indirect.txt')
-rw-r--r-- | src/cmd/go/testdata/script/mod_get_downup_indirect.txt | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/src/cmd/go/testdata/script/mod_get_downup_indirect.txt b/src/cmd/go/testdata/script/mod_get_downup_indirect.txt index 3a46a774ce..432e626003 100644 --- a/src/cmd/go/testdata/script/mod_get_downup_indirect.txt +++ b/src/cmd/go/testdata/script/mod_get_downup_indirect.txt @@ -19,17 +19,31 @@ # # If we downgrade module d to version 1, we must downgrade b as well. # If that downgrade selects b version 1, we will upgrade module c to version 2. -# So 'go get d@1' should instead downgrade both b and c to "none". cp go.mod go.mod.orig go mod tidy cmp go.mod.orig go.mod +# Downgrading d to version 1 downgrades b, which upgrades c. go get example.com/d@v0.1.0 go list -m all -! stdout '^example.com/b ' -! stdout '^example.com/c ' +stdout '^example.com/b v0.1.0 ' +stdout '^example.com/c v0.2.0 ' stdout '^example.com/d v0.1.0 ' +cmp go.mod go.mod.down1 + +# Restoring c to version 1 upgrades d to meet c's requirements. +go get example.com/c@v0.1.0 +go list -m all +! stdout '^example.com/b ' +stdout '^example.com/c v0.1.0 ' +stdout '^example.com/d v0.2.0 ' +cmp go.mod go.mod.down2 + +# If a user explicitly requests the incompatible versions together, +# 'go get' should explain why they are not compatible. +! go get example.com/c@v0.1.0 example.com/d@v0.1.0 +stderr '^go: example\.com/c@v0\.1\.0 requires example\.com/d@v0\.2\.0, not example\.com/d@v0\.1\.0' -- go.mod -- module example.com/a @@ -49,6 +63,40 @@ replace ( example.com/d v0.1.0 => ./d example.com/d v0.2.0 => ./d ) +-- go.mod.down1 -- +module example.com/a + +go 1.15 + +require ( + example.com/b v0.1.0 + example.com/c v0.2.0 + example.com/d v0.1.0 // indirect +) + +replace ( + example.com/b v0.1.0 => ./b1 + example.com/b v0.2.0 => ./b2 + example.com/c v0.1.0 => ./c1 + example.com/c v0.2.0 => ./c2 + example.com/d v0.1.0 => ./d + example.com/d v0.2.0 => ./d +) +-- go.mod.down2 -- +module example.com/a + +go 1.15 + +require example.com/c v0.1.0 + +replace ( + example.com/b v0.1.0 => ./b1 + example.com/b v0.2.0 => ./b2 + example.com/c v0.1.0 => ./c1 + example.com/c v0.2.0 => ./c2 + example.com/d v0.1.0 => ./d + example.com/d v0.2.0 => ./d +) -- a.go -- package a |