File: //opt/golang/1.22.0/src/cmd/go/testdata/script/cache_unix.txt
env GO111MODULE=off
# Integration test for cache directory calculation (cmd/go/internal/cache).
[GOOS:windows] skip 'windows does not use XDG_CACHE_HOME'
[GOOS:darwin] skip 'darwin does not use XDG_CACHE_HOME'
[GOOS:ios] skip 'ios does not use XDG_CACHE_HOME'
[GOOS:plan9] skip 'plan9 does not use XDG_CACHE_HOME'
mkdir $WORK/gocache
mkdir $WORK/xdg
mkdir $WORK/home
# Set GOCACHE, XDG_CACHE_HOME, and HOME.
env GOCACHE=$WORK/gocache
env XDG_CACHE_HOME=$WORK/xdg
env HOME=$WORK/home
# With all three set, we should prefer GOCACHE.
go env GOCACHE
stdout $WORK'/gocache$'
# Without GOCACHE, we should prefer XDG_CACHE_HOME over HOME.
env GOCACHE=
go env GOCACHE
stdout $WORK'/xdg/go-build$$'
# With only HOME set, we should use $HOME/.cache.
env XDG_CACHE_HOME=
go env GOCACHE
stdout $WORK'/home/.cache/go-build$'
# With no guidance from the environment, we must disable the cache, but that
# should not cause commands that do not write to the cache to fail.
env HOME=
go env GOCACHE
stdout 'off'