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 <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
Matthew Dempsky 2022-08-09 00:30:15 -07:00
parent 9f8685f49e
commit d4280fda46

View file

@ -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