# Check that go line in go.work is always >= go line of used modules. # Using an old Go version, fails during module loading, but we rewrite the error to the # same one a switching version would use, without the auto-switch. # This is a misconfigured system that should not arise in practice. env TESTGO_VERSION=go1.21.1 env TESTGO_VERSION_SWITCH=switch cp go.work go.work.orig ! go list stderr '^go: module . listed in go.work file requires go >= 1.21.2, but go.work lists go 1.21.1; to update it:\n\tgo work use$' go work use go list # Using a new enough Go version, fails later and can suggest 'go work use'. env TESTGO_VERSION=go1.21.2 env TESTGO_VERSION_SWITCH=switch cp go.work.orig go.work ! go list stderr '^go: module . listed in go.work file requires go >= 1.21.2, but go.work lists go 1.21.1; to update it:\n\tgo work use$' # go work use fixes the problem. go work use go list -- go.work -- go 1.21.1 use . -- go.mod -- module m go 1.21.2 -- p.go -- package p