| # https://golang.org/issue/41297: 'go list -m' should not require go.sum with |
| # -versions or when all args are version queries. |
| |
| go mod init m |
| go mod edit -require=rsc.io/quote@v1.5.1 |
| |
| go list -m -mod=readonly rsc.io/quote@latest |
| stdout '^rsc\.io/quote v1\.5\.2$' |
| ! stderr . |
| |
| go list -m -mod=readonly -versions rsc.io/quote |
| stdout 'rsc\.io/quote v1\.0\.0 .* v1\.5\.3-pre1$' |
| ! stderr . |
| |
| # Incidentally fetching the required version of a module records its checksum, |
| # just because it happens to be in the build list, and recording the checksum |
| # triggers an error under -mod=readonly. |
| # |
| # TODO(#41297): This should not be an error. |
| ! go list -m -mod=readonly rsc.io/quote@<v1.5.2 |
| stderr '^go: updates to go.sum needed, disabled by -mod=readonly$' |
| ! stderr 'missing go.sum entry' |
| |
| # Attempting to list the versions of a module that is not a root dependency |
| # causes the build list to be resolved (so that the selected version can *also* |
| # be identified, even though it is not relevant to this particular output). |
| # That, in turn, causes us to need checksums for the go.sum files for the |
| # modules in the module graph. |
| # |
| # TODO(#41297): This should not be an error either. |
| ! go list -m -mod=readonly -versions rsc.io/sampler |
| stderr '^go list -m: rsc\.io/quote@v1\.5\.1: missing go\.sum entry; to add it:\n\tgo mod download rsc\.io/quote$' |