diff options
| author | Brad Fitzpatrick <bradfitz@golang.org> | 2025-08-08 12:44:42 -0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2025-08-26 19:39:36 -0700 |
| commit | fa18c547cd891e526d2e01cfbc17961de45c31a5 (patch) | |
| tree | 074a6e85fa9d4cd2a57423f4333637c772b11d41 /src/syscall/exec_windows_test.go | |
| parent | bfd130db02336a174dab781185be369f089373ba (diff) | |
| download | go-fa18c547cd891e526d2e01cfbc17961de45c31a5.tar.xz | |
syscall: sort Windows env block in StartProcess
Fixes #29530
Change-Id: Ia28c78274b9288bfa5de9ccb142a452d291a5b66
Reviewed-on: https://go-review.googlesource.com/c/go/+/694435
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Joseph Tsai <joetsai@digital-static.net>
Auto-Submit: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/syscall/exec_windows_test.go')
| -rw-r--r-- | src/syscall/exec_windows_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/syscall/exec_windows_test.go b/src/syscall/exec_windows_test.go index 90a13af8d1..60a995e4e7 100644 --- a/src/syscall/exec_windows_test.go +++ b/src/syscall/exec_windows_test.go @@ -10,6 +10,7 @@ import ( "os" "os/exec" "path/filepath" + "slices" "syscall" "testing" "time" @@ -48,6 +49,37 @@ func TestEscapeArg(t *testing.T) { } } +func TestEnvBlockSorted(t *testing.T) { + tests := []struct { + env []string + want []string + }{ + {}, + { + env: []string{"A=1"}, + want: []string{"A=1"}, + }, + { + env: []string{"A=1", "B=2", "C=3"}, + want: []string{"A=1", "B=2", "C=3"}, + }, + { + env: []string{"C=3", "B=2", "A=1"}, + want: []string{"A=1", "B=2", "C=3"}, + }, + { + env: []string{"c=3", "B=2", "a=1"}, + want: []string{"a=1", "B=2", "c=3"}, + }, + } + for _, tt := range tests { + got := syscall.EnvSorted(tt.env) + if !slices.Equal(got, tt.want) { + t.Errorf("EnvSorted(%q) = %q, want %q", tt.env, got, tt.want) + } + } +} + func TestChangingProcessParent(t *testing.T) { if os.Getenv("GO_WANT_HELPER_PROCESS") == "parent" { // in parent process |
