From: Michael Matloob Date: Mon, 8 May 2023 16:53:37 +0000 (-0400) Subject: cmd/go/internal/envcmd: on unix pass script contents directly to sh -c X-Git-Tag: go1.21rc1~643 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=4576184b438125966dc761e2384a728f07fb8da8;p=gostls13.git cmd/go/internal/envcmd: on unix pass script contents directly to sh -c Instead of writing them to a file and executing that file. For #59998 Change-Id: I341786926762359f67dccb475295afbbb8ed1054 Reviewed-on: https://go-review.googlesource.com/c/go/+/493555 Run-TryBot: Michael Matloob Reviewed-by: Michael Matloob TryBot-Result: Gopher Robot Reviewed-by: Bryan Mills --- diff --git a/src/cmd/go/internal/envcmd/env_test.go b/src/cmd/go/internal/envcmd/env_test.go index 32d99fd1d1..7419cf3fc2 100644 --- a/src/cmd/go/internal/envcmd/env_test.go +++ b/src/cmd/go/internal/envcmd/env_test.go @@ -69,16 +69,15 @@ func FuzzPrintEnvEscape(f *testing.F) { if runtime.GOOS == "windows" { scriptfilename = "script.bat" } - scriptfile := filepath.Join(t.TempDir(), scriptfilename) - if err := os.WriteFile(scriptfile, b.Bytes(), 0777); err != nil { - t.Fatal(err) - } - t.Log(b.String()) var cmd *exec.Cmd if runtime.GOOS == "windows" { + scriptfile := filepath.Join(t.TempDir(), scriptfilename) + if err := os.WriteFile(scriptfile, b.Bytes(), 0777); err != nil { + t.Fatal(err) + } cmd = testenv.Command(t, "cmd.exe", "/C", scriptfile) } else { - cmd = testenv.Command(t, "sh", "-c", scriptfile) + cmd = testenv.Command(t, "sh", "-c", b.String()) } out, err := cmd.Output() t.Log(string(out))