aboutsummaryrefslogtreecommitdiff
path: root/src/syscall/exec_windows_test.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2025-08-08 12:44:42 -0700
committerGopher Robot <gobot@golang.org>2025-08-26 19:39:36 -0700
commitfa18c547cd891e526d2e01cfbc17961de45c31a5 (patch)
tree074a6e85fa9d4cd2a57423f4333637c772b11d41 /src/syscall/exec_windows_test.go
parentbfd130db02336a174dab781185be369f089373ba (diff)
downloadgo-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.go32
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