diff options
Diffstat (limited to 'src/os/exec/exec_test.go')
| -rw-r--r-- | src/os/exec/exec_test.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/os/exec/exec_test.go b/src/os/exec/exec_test.go index 28be21ce63..52b4724ab0 100644 --- a/src/os/exec/exec_test.go +++ b/src/os/exec/exec_test.go @@ -760,6 +760,9 @@ func TestHelperProcess(*testing.T) { } fmt.Print(p) os.Exit(0) + case "stderrfail": + fmt.Fprintf(os.Stderr, "some stderr text\n") + os.Exit(1) default: fmt.Fprintf(os.Stderr, "Unknown command %q\n", cmd) os.Exit(2) @@ -816,3 +819,19 @@ func TestClosePipeOnCopyError(t *testing.T) { t.Fatalf("yes got stuck writing to bad writer") } } + +func TestOutputStderrCapture(t *testing.T) { + testenv.MustHaveExec(t) + + cmd := helperCommand(t, "stderrfail") + _, err := cmd.Output() + ee, ok := err.(*exec.ExitError) + if !ok { + t.Fatalf("Output error type = %T; want ExitError", err) + } + got := string(ee.Stderr) + want := "some stderr text\n" + if got != want { + t.Errorf("ExitError.Stderr = %q; want %q", got, want) + } +} |
