| env GO111MODULE=on |
| env GOPROXY=off |
| |
| [!gc] skip |
| [short] skip |
| |
| # Outside of GOROOT, our vendored packages should be reported as part of the standard library. |
| go list -f '{{if .Standard}}{{.ImportPath}}{{end}}' std cmd |
| stdout ^vendor/golang.org/x/net/http2/hpack |
| stdout ^cmd/vendor/golang\.org/x/arch/x86/x86asm |
| |
| # cmd/... should match the same packages it used to match in GOPATH mode. |
| go list cmd/... |
| stdout ^cmd/compile |
| ! stdout ^cmd/vendor/golang\.org/x/arch/x86/x86asm |
| |
| # GOROOT/src/... should list the packages in std as if it were a module |
| # dependency: omitting vendored dependencies and stopping at the 'cmd' module |
| # boundary. |
| |
| go list $GOROOT/src/... |
| stdout ^bytes$ |
| ! stdout ^builtin$ |
| ! stdout ^cmd/ |
| ! stdout ^vendor/ |
| |
| |
| # Within the std module, listing ./... should omit the 'std' prefix: |
| # the package paths should be the same via ./... or the 'std' meta-pattern. |
| # TODO(golang.org/issue/30241): Make that work. |
| # Today, they are listed in 'std' but not './...'. |
| cd $GOROOT/src |
| go list ./... |
| ! stdout ^vendor/golang.org/x # TODO: should be included, or should be omitted from 'std'. |
| |
| cp stdout $WORK/listdot.txt |
| go list std |
| stdout ^vendor/golang.org/x # TODO: remove vendor/ prefix |
| # TODO: cmp stdout $WORK/listdot.txt |
| |
| go list all |
| stdout ^vendor/golang.org/x # TODO: remove vendor/ prefix. |
| ! stdout ^std/ |
| |
| |
| # Within the std module, the vendored dependencies of std should appear |
| # to come from the actual modules. |
| # TODO(golang.org/issue/30241): Make that work. |
| # Today, they still have the vendor/ prefix. |
| go list std |
| stdout ^vendor/golang.org/x/net/http2/hpack # TODO |
| ! stdout ^golang.org/x/net/http2/hpack # TODO |
| |
| go list -deps -f '{{if not .Standard}}{{.ImportPath}}{{end}}' std |
| # ! stdout ^vendor/golang.org/x/net/http2/hpack # TODO |
| ! stdout ^golang.org/x/net/http2/hpack # TODO |
| |
| |
| # Within std, the vendored dependencies of cmd should still appear to be part of cmd. |
| go list -f '{{if .Standard}}{{.ImportPath}}{{end}}' cmd |
| stdout ^cmd/vendor/golang\.org/x/arch/x86/x86asm |
| |
| go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}' cmd |
| ! stdout . |
| |
| go list cmd/... |
| stdout ^cmd/compile |
| ! stdout ^cmd/vendor/golang\.org/x/arch/x86/x86asm |