blob: c038add94762d7691e886e0c8bc283108eb9314b [file] [log] [blame]
// Copyright 2025 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package fips140
import (
"internal/godebug"
"os"
"testing"
)
func TestImmutableGODEBUG(t *testing.T) {
defer func(v string) { os.Setenv("GODEBUG", v) }(os.Getenv("GODEBUG"))
fips140Enabled := Enabled()
fips140Setting := godebug.New("fips140")
fips140SettingValue := fips140Setting.Value()
os.Setenv("GODEBUG", "fips140=off")
if Enabled() != fips140Enabled {
t.Errorf("Enabled() changed after setting GODEBUG=fips140=off")
}
if fips140Setting.Value() != fips140SettingValue {
t.Errorf("fips140Setting.Value() changed after setting GODEBUG=fips140=off")
}
os.Setenv("GODEBUG", "fips140=on")
if Enabled() != fips140Enabled {
t.Errorf("Enabled() changed after setting GODEBUG=fips140=on")
}
if fips140Setting.Value() != fips140SettingValue {
t.Errorf("fips140Setting.Value() changed after setting GODEBUG=fips140=on")
}
os.Setenv("GODEBUG", "fips140=")
if Enabled() != fips140Enabled {
t.Errorf("Enabled() changed after setting GODEBUG=fips140=")
}
if fips140Setting.Value() != fips140SettingValue {
t.Errorf("fips140Setting.Value() changed after setting GODEBUG=fips140=")
}
os.Setenv("GODEBUG", "")
if Enabled() != fips140Enabled {
t.Errorf("Enabled() changed after setting GODEBUG=")
}
if fips140Setting.Value() != fips140SettingValue {
t.Errorf("fips140Setting.Value() changed after setting GODEBUG=")
}
}