# This test checks to see if we only start in workspace vendor # mode if the modules.txt specifies ## workspace (and only in # standard vendor if it doesn't). # vendor directory produced for workspace, workspace mode # runs in mod=vendor go work vendor cmp vendor/modules.txt want_workspace_modules_txt go list -f {{.Dir}} example.com/b stdout $GOPATH[\\/]src[\\/]vendor[\\/]example.com[\\/]b # vendor directory produced for workspace, module mode # runs in mod=readonly env GOWORK=off go list -f {{.Dir}} example.com/b stdout $GOPATH[\\/]src[\\/]b # vendor directory produced for module, module mode # runs in mod=vendor go mod vendor cmp vendor/modules.txt want_module_modules_txt go list -f {{.Dir}} example.com/b stdout $GOPATH[\\/]src[\\/]vendor[\\/]example.com[\\/]b # vendor directory produced for module, workspace mode # runs in mod=readonly env GOWORK= go list -f {{.Dir}} example.com/b stdout $GOPATH[\\/]src[\\/]b -- want_workspace_modules_txt -- ## workspace # example.com/b v0.0.0 => ./b ## explicit; go 1.21 example.com/b # example.com/b => ./b -- want_module_modules_txt -- # example.com/b v0.0.0 => ./b ## explicit; go 1.21 example.com/b # example.com/b => ./b -- go.work -- go 1.21 use . -- go.mod -- module example.com/a go 1.21 require example.com/b v0.0.0 replace example.com/b => ./b -- a.go -- package a import _ "example.com/b" -- b/go.mod -- module example.com/b go 1.21 -- b/b.go -- package b