diff options
Diffstat (limited to 'src/os/exec/exec_test.go')
| -rw-r--r-- | src/os/exec/exec_test.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/os/exec/exec_test.go b/src/os/exec/exec_test.go index 13bc39794b..7b69db7c76 100644 --- a/src/os/exec/exec_test.go +++ b/src/os/exec/exec_test.go @@ -693,6 +693,11 @@ func TestHelperProcess(*testing.T) { iargs = append(iargs, s) } fmt.Println(iargs...) + case "echoenv": + for _, s := range args { + fmt.Println(os.Getenv(s)) + } + os.Exit(0) case "cat": if len(args) == 0 { io.Copy(os.Stdout, os.Stdin) @@ -1043,3 +1048,18 @@ func TestContextCancel(t *testing.T) { t.Logf("exit status: %v", err) } } + +// test that environment variables are de-duped. +func TestDedupEnvEcho(t *testing.T) { + testenv.MustHaveExec(t) + + cmd := helperCommand(t, "echoenv", "FOO") + cmd.Env = append(cmd.Env, "FOO=bad", "FOO=good") + out, err := cmd.CombinedOutput() + if err != nil { + t.Fatal(err) + } + if got, want := strings.TrimSpace(string(out)), "good"; got != want { + t.Errorf("output = %q; want %q", got, want) + } +} |
