| # GOCACHEPROG unset |
| env GOCACHEPROG= |
| |
| go env |
| stdout 'GOCACHEPROG=''?''?' |
| |
| go env -changed |
| ! stdout 'GOCACHEPROG' |
| |
| go env -changed -json |
| ! stdout 'GOCACHEPROG' |
| |
| # GOCACHEPROG set |
| [short] skip 'compiles and runs a go program' |
| |
| go build -o cacheprog$GOEXE cacheprog.go |
| |
| env GOCACHEPROG=$GOPATH/src/cacheprog$GOEXE |
| |
| go env |
| stdout 'GOCACHEPROG=''?'$GOCACHEPROG'''?' |
| |
| go env -changed |
| stdout 'GOCACHEPROG=''?'$GOCACHEPROG'''?' |
| |
| go env -changed -json |
| stdout '"GOCACHEPROG": ".*cacheprog'$GOEXE'"' |
| |
| -- cacheprog.go -- |
| // This is a minimal GOCACHEPROG program that can't actually do anything but exit. |
| 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) |
| } |