| # Tests for the telemetry subcommand, |
| |
| # The script test framework sets TEST_TELEMETRY_DIR (overriding the |
| # default telemetry dir location) and then checks that at least one |
| # counter has been written per script tests. |
| # Run go before unsetting TEST_TELEMETRY_DIR to make the tests happy. |
| # We want to unset it so the environment we're testing is as close |
| # to a user's environment. |
| go help telemetry |
| env TEST_TELEMETRY_DIR= |
| |
| # Set userconfig dir, which is determined by os.UserConfigDir. |
| # The telemetry dir is determined using that. |
| mkdir $WORK/userconfig |
| env AppData=$WORK\userconfig # windows |
| [GOOS:windows] env userconfig=$AppData |
| env HOME=$WORK/userconfig # darwin,unix,ios |
| [GOOS:darwin] env userconfig=$HOME'/Library/Application Support' |
| [GOOS:ios] env userconfig=$HOME'/Library/Application Support' |
| [!GOOS:windows] [!GOOS:darwin] [!GOOS:ios] [!GOOS:plan9] env userconfig=$HOME/.config |
| env home=$WORK/userconfig # plan9 |
| [GOOS:plan9] env userconfig=$home/lib |
| |
| go telemetry |
| stdout 'local' |
| |
| go telemetry off |
| go telemetry |
| stdout 'off' |
| go env GOTELEMETRY |
| stdout 'off' |
| |
| go telemetry local |
| go telemetry |
| stdout 'local' |
| go env GOTELEMETRY |
| stdout 'local' |
| |
| go telemetry on |
| go telemetry |
| stdout 'on' |
| go env GOTELEMETRY |
| stdout 'on' |
| |
| go env |
| stdout 'GOTELEMETRY=''?on''?' |
| stdout 'GOTELEMETRYDIR=''?'$userconfig'[\\/]go[\\/]telemetry''?' |
| ! go env -w GOTELEMETRY=off |
| stderr '^go: unknown go command variable GOTELEMETRY$' |
| ! go env -w GOTELEMETRYDIR=foo |
| stderr '^go: unknown go command variable GOTELEMETRYDIR$' |