| # build with no newer version to satisfy exclude |
| env GO111MODULE=on |
| cp go.mod go.mod.orig |
| |
| # With the selected version excluded, commands that query that version without |
| # updating go.mod should fail. |
| |
| ! go list -mod=readonly -m all |
| stderr '^go: ignoring requirement on excluded version rsc.io/sampler v1\.99\.99$' |
| stderr '^go: updates to go.mod needed, disabled by -mod=readonly$' |
| ! stdout '^rsc.io/sampler v1.99.99' |
| cmp go.mod go.mod.orig |
| |
| ! go list -mod=vendor -m rsc.io/sampler |
| stderr '^go: ignoring requirement on excluded version rsc.io/sampler v1\.99\.99$' |
| stderr '^go list -m: module rsc.io/sampler: can''t resolve module using the vendor directory\n\t\(Use -mod=mod or -mod=readonly to bypass\.\)$' |
| ! stdout '^rsc.io/sampler v1.99.99' |
| cmp go.mod go.mod.orig |
| |
| # With the selected version excluded, commands that load only modules should |
| # drop the excluded module. |
| |
| go list -m -mod=mod all |
| stderr '^go: dropping requirement on excluded version rsc.io/sampler v1\.99\.99$' |
| stdout '^x$' |
| ! stdout '^rsc.io/sampler' |
| cmp go.mod go.moddrop |
| |
| # With the latest version excluded, 'go list' should resolve needed packages |
| # from the next-highest version. |
| |
| cp go.mod.orig go.mod |
| go list -mod=mod -f '{{with .Module}}{{.Path}} {{.Version}}{{end}}' all |
| stderr '^go: dropping requirement on excluded version rsc.io/sampler v1\.99\.99$' |
| stdout '^x $' |
| ! stdout '^rsc.io/sampler v1.99.99' |
| stdout '^rsc.io/sampler v1.3.0' |
| |
| # build with newer version available |
| cp go.mod2 go.mod |
| go list -mod=mod -f '{{with .Module}}{{.Path}} {{.Version}}{{end}}' all |
| stderr '^go: dropping requirement on excluded version rsc.io/quote v1\.5\.1$' |
| stdout 'rsc.io/quote v1.5.2' |
| |
| # build with excluded newer version |
| cp go.mod3 go.mod |
| go list -mod=mod -f '{{with .Module}}{{.Path}} {{.Version}}{{end}}' all |
| ! stderr '^go: dropping requirement' |
| stdout 'rsc.io/quote v1.5.1' |
| |
| -- x.go -- |
| package x |
| import _ "rsc.io/quote" |
| |
| -- go.mod -- |
| module x |
| |
| go 1.13 |
| |
| exclude rsc.io/sampler v1.99.99 |
| require rsc.io/sampler v1.99.99 |
| -- go.moddrop -- |
| module x |
| |
| go 1.13 |
| |
| exclude rsc.io/sampler v1.99.99 |
| -- go.mod2 -- |
| module x |
| |
| go 1.13 |
| |
| exclude rsc.io/quote v1.5.1 |
| require rsc.io/quote v1.5.1 |
| -- go.mod3 -- |
| module x |
| |
| go 1.13 |
| |
| exclude rsc.io/quote v1.5.2 |
| require rsc.io/quote v1.5.1 |