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'