blob: 10fa103fad391364b7fcc5632b65b6e066077d81 [file] [log] [blame]
# GO111MODULE=auto should trigger any time a go.mod exists in a parent directory.
env GO111MODULE=auto
cd $GOPATH/src/x/y/z
go env GOMOD
stdout $GOPATH[/\\]src[/\\]x[/\\]y[/\\]z[/\\]go.mod
go list -m -f {{.GoMod}}
stdout $GOPATH[/\\]src[/\\]x[/\\]y[/\\]z[/\\]go.mod
cd $GOPATH/src/x/y/z/w
go env GOMOD
stdout $GOPATH[/\\]src[/\\]x[/\\]y[/\\]z[/\\]go.mod
cd $GOPATH/src/x/y
go env GOMOD
! stdout .
cd $GOPATH/foo
go env GOMOD
stdout foo[/\\]go.mod
go list -m -f {{.GoMod}}
stdout foo[/\\]go.mod
cd $GOPATH/foo/bar/baz
go env GOMOD
stdout foo[/\\]go.mod
# GO111MODULE unset should be equivalent to auto.
env GO111MODULE=
cd $GOPATH/src/x/y/z
go env GOMOD
stdout $GOPATH[/\\]src[/\\]x[/\\]y[/\\]z[/\\]go.mod
cd $GOPATH/src/x/y
go env GOMOD
! stdout .
# GO111MODULE=on should trigger everywhere
env GO111MODULE=on
cd $GOPATH/src/x/y/z
go env GOMOD
stdout z[/\\]go.mod
cd $GOPATH/src/x/y/z/w
go env GOMOD
stdout z[/\\]go.mod
cd $GOPATH/src/x/y
go env GOMOD
stdout 'NUL|/dev/null'
go list -m
stdout '^command-line-arguments$'
cd $GOPATH/foo
go env GOMOD
stdout foo[/\\]go.mod
cd $GOPATH/foo/bar/baz
go env GOMOD
stdout foo[/\\]go.mod
# GO111MODULE=off should trigger nowhere
env GO111MODULE=off
cd $GOPATH/src/x/y/z
go env GOMOD
! stdout .+
cd $GOPATH/foo
go env GOMOD
! stdout .+
cd $GOPATH/foo/bar/baz
go env GOMOD
! stdout .+
# GO111MODULE=auto should ignore and warn about /tmp/go.mod
env GO111MODULE=auto
cp $GOPATH/src/x/y/z/go.mod $WORK/tmp/go.mod
mkdir $WORK/tmp/mydir
cd $WORK/tmp/mydir
go env GOMOD
! stdout .+
stderr '^go: warning: ignoring go.mod in system temp root '
-- $GOPATH/src/x/y/z/go.mod --
module x/y/z
-- $GOPATH/src/x/y/z/w/w.txt --
-- $GOPATH/foo/go.mod --
module example.com/mod
-- $GOPATH/foo/bar/baz/quux.txt --