| # This test demonstrates go commands that combine the 'all' pattern |
| # with packages outside of 'all'. |
| |
| # With -deps, 'all' should include test dependencies of packages in the main |
| # module, but not should not include test dependencies of packages imported only |
| # by other root patterns. |
| |
| env GOFLAGS=-mod=mod |
| cp go.mod go.mod.orig |
| |
| go list -deps all x/otherroot |
| |
| stdout '^x/inall$' |
| stdout '^x/inall/fromtest$' |
| stdout '^x/inall/fromtestinall$' |
| stdout '^x/otherroot$' |
| stdout '^x/otherdep$' |
| |
| ! stdout '^x/fromotherroottest$' |
| ! stdout '^y/fromotherdeptest$' |
| |
| cmp go.mod go.mod.orig |
| |
| # With -deps -test, test dependencies of other roots should be included, |
| # but test dependencies of non-roots should not. |
| |
| go list -deps -test all x/otherroot |
| stdout '^x/inall$' |
| stdout '^x/inall/fromtest$' |
| stdout '^x/inall/fromtestinall$' |
| stdout '^x/otherroot$' |
| stdout '^x/otherdep$' |
| |
| stdout '^x/fromotherroottest$' |
| ! stdout '^y/fromotherdeptest$' |
| |
| cmp go.mod go.mod.orig |
| |
| -- m.go -- |
| package m |
| |
| import _ "x/inall" |
| -- m_test.go -- |
| package m_test |
| |
| import _ "x/inall/fromtest" |
| -- go.mod -- |
| module m |
| |
| go 1.15 |
| |
| require x v0.1.0 |
| |
| replace ( |
| x v0.1.0 => ./x |
| y v0.1.0 => ./y |
| ) |
| -- x/go.mod -- |
| module x |
| |
| go 1.15 |
| -- x/inall/inall.go -- |
| package inall |
| -- x/inall/inall_test.go -- |
| package inall_test |
| |
| import _ "x/inall/fromtestinall" |
| -- x/inall/fromtest/fromtest.go -- |
| package fromtest |
| -- x/inall/fromtestinall/fromtestinall.go -- |
| package fromtestinall |
| -- x/otherroot/otherroot.go -- |
| package otherroot |
| |
| import _ "x/otherdep" |
| -- x/otherroot/otherroot_test.go -- |
| package otherroot_test |
| |
| import _ "x/fromotherroottest" |
| -- x/fromotherroottest/fromotherroottest.go -- |
| package fromotherroottest |
| -- x/otherdep/otherdep.go -- |
| package otherdep |
| -- x/otherdep/otherdep_test.go -- |
| package otherdep_test |
| |
| import _ "y/fromotherdeptest" |
| -- x/otherroot/testonly/testonly.go -- |
| package testonly |
| -- y/go.mod -- |
| module y |
| |
| go 1.15 |
| -- y/fromotherdeptest/fromotherdeptest.go -- |
| // Package fromotherdeptest is a test dependency of x/otherdep that is |
| // not declared in x/go.mod. If the loader resolves this package, |
| // it will add this module to the main module's go.mod file, |
| // and we can detect the mistake. |
| package fromotherdeptest |