diff --git a/pkg/capture/capture_test.go b/pkg/capture/capture_test.go new file mode 100644 index 000000000..af3a01175 --- /dev/null +++ b/pkg/capture/capture_test.go @@ -0,0 +1,22 @@ +package capture + +import ( + "fmt" + "os" + "testing" +) + +func TestOutputMergesStdoutAndStderr(t *testing.T) { + got := Output(func() { + fmt.Print("out") + fmt.Fprint(stderrWriter(), "err") // write directly to stderr + }) + if got != "outerr" { + t.Fatalf("unexpected combined output: %q", got) + } +} + +// stderrWriter returns the current process stderr; split for test clarity. +func stderrWriter() *os.File { + return os.Stderr +}