From 065c5d220e802e85d410a5e6adba0819ab71aeda Mon Sep 17 00:00:00 2001 From: "Hana (Hyang-Ah) Kim" Date: Fri, 8 Mar 2024 16:23:36 -0500 Subject: [PATCH] cmd/go: check checkCounters counter read only on supported platforms Telemetry counters writing is disabled on certain platforms. See x/telemetry/internal/telemetry.DisabledOnPlatform. For #66205 Change-Id: I833e15ae33fb27e09d67fc77b921498476237176 Reviewed-on: https://go-review.googlesource.com/c/go/+/570196 Reviewed-by: Michael Matloob LUCI-TryBot-Result: Go LUCI --- src/cmd/go/script_test.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/cmd/go/script_test.go b/src/cmd/go/script_test.go index 6daa5d9e9a..d36de720cd 100644 --- a/src/cmd/go/script_test.go +++ b/src/cmd/go/script_test.go @@ -411,7 +411,7 @@ func checkCounters(t *testing.T, telemetryDir string) { }) counters := readCounters(t, telemetryDir) if _, ok := scriptGoInvoked.Load(testing.TB(t)); ok { - if len(counters) == 0 { + if !disabledOnPlatform && len(counters) == 0 { t.Fatal("go was invoked but no counters were incremented") } } @@ -422,3 +422,19 @@ func checkCounters(t *testing.T, telemetryDir string) { } } } + +// Copied from https://go.googlesource.com/telemetry/+/5f08a0cbff3f/internal/telemetry/mode.go#122 +// TODO(go.dev/issues/66205): replace this with the public API once it becomes available. +// +// disabledOnPlatform indicates whether telemetry is disabled +// due to bugs in the current platform. +const disabledOnPlatform = false || + // The following platforms could potentially be supported in the future: + runtime.GOOS == "openbsd" || // #60614 + runtime.GOOS == "solaris" || // #60968 #60970 + runtime.GOOS == "android" || // #60967 + runtime.GOOS == "illumos" || // #65544 + // These platforms fundamentally can't be supported: + runtime.GOOS == "js" || // #60971 + runtime.GOOS == "wasip1" || // #60971 + runtime.GOOS == "plan9" // https://github.com/golang/go/issues/57540#issuecomment-1470766639 -- 2.48.1