diff options
Diffstat (limited to 'src/os/exec/env_test.go')
-rw-r--r-- | src/os/exec/env_test.go | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/os/exec/env_test.go b/src/os/exec/env_test.go index b5ac398c27..112f1e654a 100644 --- a/src/os/exec/env_test.go +++ b/src/os/exec/env_test.go @@ -18,17 +18,29 @@ func TestDedupEnv(t *testing.T) { { noCase: true, in: []string{"k1=v1", "k2=v2", "K1=v3"}, - want: []string{"K1=v3", "k2=v2"}, + want: []string{"k2=v2", "K1=v3"}, }, { noCase: false, in: []string{"k1=v1", "K1=V2", "k1=v3"}, - want: []string{"k1=v3", "K1=V2"}, + want: []string{"K1=V2", "k1=v3"}, }, { in: []string{"=a", "=b", "foo", "bar"}, want: []string{"=b", "foo", "bar"}, }, + { + // #49886: preserve weird Windows keys with leading "=" signs. + noCase: true, + in: []string{`=C:=C:\golang`, `=D:=D:\tmp`, `=D:=D:\`}, + want: []string{`=C:=C:\golang`, `=D:=D:\`}, + }, + { + // #52436: preserve invalid key-value entries (for now). + // (Maybe filter them out or error out on them at some point.) + in: []string{"dodgy", "entries"}, + want: []string{"dodgy", "entries"}, + }, } for _, tt := range tests { got := dedupEnvCase(tt.noCase, tt.in) |