]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go/internal/envcmd: show GODEBUG in 'go env' output
authorsuntala <artichaut2023@gmail.com>
Thu, 22 Feb 2024 22:49:36 +0000 (22:49 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 29 Feb 2024 18:42:31 +0000 (18:42 +0000)
Fixes #65777

Change-Id: I62067d8212bfd9f9475ecad036a1218ffc5c2130
GitHub-Last-Rev: a395b0293a4796e4ac5db64c1521ade4ede0dfd8
GitHub-Pull-Request: golang/go#65888
Reviewed-on: https://go-review.googlesource.com/c/go/+/566097
Reviewed-by: Bryan Mills <bcmills@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
src/cmd/go/internal/envcmd/env.go
src/cmd/go/testdata/script/env_write.txt

index c7c2e83e0f7a9ec9f69c66f002cfb420644a3623..1680753b0ff8bede9a76f55fcef89976b936c1a1 100644 (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)
        }
 
index 5d40949cddca436c67f9a3669196e008939f367d..bf14a2f0bd842308bb05ebb1faa8d31048841f22 100644 (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=