blob: 68e2773a724570b554d054ecd01c7e96796fafc6 [file] [log] [blame]
# The build cache is required to build anything. It also may be needed to
# initialize the build system, which is needed for commands like 'go env'.
# However, there are lots of commands the cache is not needed for, and we
# shouldn't require it when it won't be used.
#
# TODO(golang.org/issue/39882): commands below should work, too.
# * go clean -modcache
# * go env
# * go fix
# * go fmt
# * go generate
# * go get -d
# * go list (without -export or -compiled)
env GOCACHE=off
# Commands that don't completely load packages should work.
[!gccgo] go doc fmt
[!gccgo] stdout Printf
[!gccgo] ! go tool compile -h
[!gccgo] stderr usage:
go version
stdout '^go version'
# Module commands that don't load packages should work.
go mod init m
exists go.mod
go mod edit -require rsc.io/quote@v1.5.2
go mod download rsc.io/quote
go mod graph
stdout rsc.io/quote
go mod verify
# Commands that load but don't build packages should work.
go fmt .
[!gccgo] go doc .
-- main.go --
package main
func main() {}