Show GODEBUG in 'go env' output

Co-authored-by: Aleks Fazlieva <britishrum@users.noreply.github.com>
This commit is contained in:
suntala 2024-02-22 22:39:53 +01:00
parent 5e9afab7df
commit a395b0293a
2 changed files with 6 additions and 3 deletions

View File

@ -104,6 +104,7 @@ func MkEnv() []cfg.EnvVar {
{Name: "GOTOOLDIR", Value: build.ToolDir},
{Name: "GOVCS", Value: cfg.GOVCS},
{Name: "GOVERSION", Value: runtime.Version()},
{Name: "GODEBUG", Value: os.Getenv("GODEBUG")},
}
if work.GccgoBin != "" {
@ -530,7 +531,7 @@ func checkEnvWrite(key, val string) error {
switch key {
case "GOEXE", "GOGCCFLAGS", "GOHOSTARCH", "GOHOSTOS", "GOMOD", "GOWORK", "GOTOOLDIR", "GOVERSION":
return fmt.Errorf("%s cannot be modified", key)
case "GOENV":
case "GOENV", "GODEBUG":
return fmt.Errorf("%s can only be set using the OS environment", key)
}

View File

@ -65,14 +65,16 @@ go env -u GOPATH
! stderr .+
# go env -w rejects unknown or bad variables
! go env -w GODEBUG=gctrace=1
stderr 'unknown go command variable GODEBUG'
! go env -w GOGC=off
stderr 'unknown go command variable GOGC'
! go env -w GOEXE=.bat
stderr 'GOEXE cannot be modified'
! go env -w GOVERSION=customversion
stderr 'GOVERSION cannot be modified'
! go env -w GOENV=/env
stderr 'GOENV can only be set using the OS environment'
! go env -w GODEBUG=gctrace=1
stderr 'GODEBUG can only be set using the OS environment'
# go env -w can set multiple variables
env CC=