[short] skip 'builds go programs' go build -o cacheprog$GOEXE cacheprog.go env GOCACHEPROG=$GOPATH/src/cacheprog$GOEXE # This should not deadlock go build simple.go ! stderr 'cacheprog closed' -- simple.go -- package main func main() {} -- cacheprog.go -- // This is a minimal GOCACHEPROG program that doesn't respond to close. package main import ( "encoding/json" "os" ) func main() { json.NewEncoder(os.Stdout).Encode(map[string][]string{"KnownCommands": {"close"}}) var res struct{} json.NewDecoder(os.Stdin).Decode(&res) }