Commit 4fb8b1de authored by Martin Möhrmann's avatar Martin Möhrmann

internal/cpu: use 'off' for disabling cpu capabilities instead of '0'

Updates #27218

Change-Id: I4ce20376fd601b5f958d79014af7eaf89e9de613
Reviewed-on: https://go-review.googlesource.com/c/141818
Run-TryBot: Martin Möhrmann <moehrmann@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent d82e51a1
...@@ -157,11 +157,11 @@ type option struct { ...@@ -157,11 +157,11 @@ type option struct {
} }
// processOptions disables CPU feature values based on the parsed env string. // processOptions disables CPU feature values based on the parsed env string.
// The env string is expected to be of the form feature1=0,feature2=0... // The env string is expected to be of the form feature1=off,feature2=off...
// where feature names is one of the architecture specifc list stored in the // where feature names is one of the architecture specifc list stored in the
// cpu packages options variable. If env contains all=0 then all capabilities // cpu packages options variable. If env contains all=off then all capabilities
// referenced through the options variable are disabled. Other feature // referenced through the options variable are disabled. Other feature
// names and values other than 0 are silently ignored. // names and values other than 'off' are silently ignored.
func processOptions(env string) { func processOptions(env string) {
field: field:
for env != "" { for env != "" {
...@@ -178,8 +178,8 @@ field: ...@@ -178,8 +178,8 @@ field:
} }
key, value := field[:i], field[i+1:] key, value := field[:i], field[i+1:]
// Only allow turning off CPU features by specifying '0'. // Only allow turning off CPU features by specifying 'off'.
if value == "0" { if value == "off" {
if key == "all" { if key == "all" {
for _, v := range options { for _, v := range options {
*v.Feature = false *v.Feature = false
......
...@@ -38,14 +38,14 @@ func runDebugOptionsTest(t *testing.T, test string, options string) { ...@@ -38,14 +38,14 @@ func runDebugOptionsTest(t *testing.T, test string, options string) {
} }
func TestDisableAllCapabilities(t *testing.T) { func TestDisableAllCapabilities(t *testing.T) {
runDebugOptionsTest(t, "TestAllCapabilitiesDisabled", "all=0") runDebugOptionsTest(t, "TestAllCapabilitiesDisabled", "all=off")
} }
func TestAllCapabilitiesDisabled(t *testing.T) { func TestAllCapabilitiesDisabled(t *testing.T) {
MustHaveDebugOptionsSupport(t) MustHaveDebugOptionsSupport(t)
if os.Getenv("GODEBUGCPU") != "all=0" { if os.Getenv("GODEBUGCPU") != "all=off" {
t.Skipf("skipping test: GODEBUGCPU=all=0 not set") t.Skipf("skipping test: GODEBUGCPU=all=off not set")
} }
for _, o := range Options { for _, o := range Options {
......
...@@ -30,14 +30,14 @@ func TestX86ifAVX2hasAVX(t *testing.T) { ...@@ -30,14 +30,14 @@ func TestX86ifAVX2hasAVX(t *testing.T) {
} }
func TestDisableSSE2(t *testing.T) { func TestDisableSSE2(t *testing.T) {
runDebugOptionsTest(t, "TestSSE2DebugOption", "sse2=0") runDebugOptionsTest(t, "TestSSE2DebugOption", "sse2=off")
} }
func TestSSE2DebugOption(t *testing.T) { func TestSSE2DebugOption(t *testing.T) {
MustHaveDebugOptionsSupport(t) MustHaveDebugOptionsSupport(t)
if os.Getenv("GODEBUGCPU") != "sse2=0" { if os.Getenv("GODEBUGCPU") != "sse2=off" {
t.Skipf("skipping test: GODEBUGCPU=sse2=0 not set") t.Skipf("skipping test: GODEBUGCPU=sse2=off not set")
} }
want := runtime.GOARCH != "386" // SSE2 can only be disabled on 386. want := runtime.GOARCH != "386" // SSE2 can only be disabled on 386.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment