From d4280fda462e06819a416a2e298b7896bdc1654c Mon Sep 17 00:00:00 2001 From: Matthew Dempsky Date: Tue, 9 Aug 2022 00:30:15 -0700 Subject: [PATCH] test: more robust detection of GOEXPERIMENT=unified `go env GOEXPERIMENT` prints what experiments are enabled relative to the baseline configuration, so it's not a very robust way to detect what experiments have been statically enabled at bootstrap time. Instead, we can check build.Default.ToolTags, which has goexperiment.* for all currently enabled experiments, independent of baseline. Change-Id: I6132deaa73b1e79ac24176ef4de5af67a507ee26 Reviewed-on: https://go-review.googlesource.com/c/go/+/422234 Run-TryBot: Matthew Dempsky TryBot-Result: Gopher Robot Reviewed-by: Cuong Manh Le Reviewed-by: David Chase --- test/run.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/test/run.go b/test/run.go index c263a41877..3665a186a4 100644 --- a/test/run.go +++ b/test/run.go @@ -75,10 +75,14 @@ var env = func() (res envVars) { return }() -// TODO(mdempsky): This will give false negatives if the unified -// experiment is enabled by default, but presumably at that point we -// won't need to disable tests for it anymore anyway. -var unifiedEnabled = strings.Contains(","+env.GOEXPERIMENT+",", ",unified,") +var unifiedEnabled = func() bool { + for _, tag := range build.Default.ToolTags { + if tag == "goexperiment.unified" { + return true + } + } + return false +}() // defaultAllCodeGen returns the default value of the -all_codegen // flag. By default, we prefer to be fast (returning false), except on -- 2.50.0