...
1# Tests for the telemetry subcommand,
2
3# The script test framework sets TEST_TELEMETRY_DIR (overriding the
4# default telemetry dir location) and then checks that at least one
5# counter has been written per script tests.
6# Run go before unsetting TEST_TELEMETRY_DIR to make the tests happy.
7# We want to unset it so the environment we're testing is as close
8# to a user's environment.
9go help telemetry
10env TEST_TELEMETRY_DIR=
11
12# Set userconfig dir, which is determined by os.UserConfigDir.
13# The telemetry dir is determined using that.
14mkdir $WORK/userconfig
15env AppData=$WORK\userconfig # windows
16[GOOS:windows] env userconfig=$AppData
17env HOME=$WORK/userconfig # darwin,unix,ios
18[GOOS:darwin] env userconfig=$HOME'/Library/Application Support'
19[GOOS:ios] env userconfig=$HOME'/Library/Application Support'
20[!GOOS:windows] [!GOOS:darwin] [!GOOS:ios] [!GOOS:plan9] env userconfig=$HOME/.config
21env home=$WORK/userconfig # plan9
22[GOOS:plan9] env userconfig=$home/lib
23
24go telemetry
25stdout 'local'
26
27go telemetry off
28go telemetry
29stdout 'off'
30go env GOTELEMETRY
31stdout 'off'
32
33go telemetry local
34go telemetry
35stdout 'local'
36go env GOTELEMETRY
37stdout 'local'
38
39go telemetry on
40go telemetry
41stdout 'on'
42go env GOTELEMETRY
43stdout 'on'
44
45go env
46stdout 'GOTELEMETRY=''?on''?'
47stdout 'GOTELEMETRYDIR=''?'$userconfig'[\\/]go[\\/]telemetry''?'
48! go env -w GOTELEMETRY=off
49stderr '^go: unknown go command variable GOTELEMETRY$'
50! go env -w GOTELEMETRYDIR=foo
51stderr '^go: unknown go command variable GOTELEMETRYDIR$'
View as plain text