MCPcopy
hub / github.com/keploy/keploy / captureStdout

Function captureStdout

utils/output_test.go:11–37  ·  view source on GitHub ↗
(t *testing.T, fn func() error)

Source from the content-addressed store, hash-verified

9)
10
11func captureStdout(t *testing.T, fn func() error) (string, error) {
12 t.Helper()
13
14 originalStdout := os.Stdout
15 r, w, err := os.Pipe()
16 if err != nil {
17 t.Fatalf("failed to create pipe: %v", err)
18 }
19 os.Stdout = w
20
21 runErr := fn()
22
23 if err := w.Close(); err != nil {
24 t.Fatalf("failed to close writer: %v", err)
25 }
26 os.Stdout = originalStdout
27
28 var buf bytes.Buffer
29 if _, err := io.Copy(&buf, r); err != nil {
30 t.Fatalf("failed to read captured output: %v", err)
31 }
32 if err := r.Close(); err != nil {
33 t.Fatalf("failed to close reader: %v", err)
34 }
35
36 return buf.String(), runErr
37}
38
39func TestJSONWriterWriteEnabled(t *testing.T) {
40 writer := NewJSONWriter(true)

Callers 3

Calls 2

CloseMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected