# Set GOCACHE to a clean directory to ensure that 'go build' has work to report.
[!windows] env GOCACHE=$WORK/gocache
[windows] env GOCACHE=$WORK\gocache

# 'go build' should use GOTMPDIR if set.
[!windows] env GOTMPDIR=$WORK/my-favorite-tmpdir
[windows] env GOTMPDIR=$WORK\my-favorite-tmpdir
mkdir $GOTMPDIR
go build -x hello.go
stderr ^WORK=.*my-favorite-tmpdir

# Make GOTMPDIR a regular file. This prevents the creation of work directories,
# so we can check that certain commands don't create them.
# This simulates running on a full disk or a read-only volume.
rm $GOTMPDIR
cp hello.go $GOTMPDIR # any file will do

# 'go build' should fail if GOTMPDIR is read-only.
! go build -x .
stderr '^go: creating work dir: \w+ '$GOTMPDIR

# 'go list' should only fail if it needs to build something.
go list -x .
! stderr 'creating work dir'
stdout m
go list -m all
stdout m
! go list -x -export .
stderr '^go: creating work dir: \w+ '$GOTMPDIR

# 'go clean -cache' and 'go clean -modcache' should not fail.
go clean -x -cache
! stderr 'creating work dir'
go clean -x -modcache
! stderr 'creating work dir'

# 'go env' should not fail for specific variables.
# Without arguments, it needs to initialize a builder to load cgo flags, and
# that uses a temporary directory.
! go env
stderr '^go: creating work dir: \w+ '$GOTMPDIR
go env GOROOT

-- go.mod --
module m

go 1.15
-- hello.go --
package main
func main() { println("hello") }
