captureOutput() — gin Function Reference
Architecture documentation for the captureOutput() function in debug_test.go from the gin codebase.
Entity Profile
Dependency Diagram
graph TD 8ee5a2af_634d_2b9b_d50c_11685d28130a["captureOutput()"] 447c0b4e_be9e_63f2_c7f3_3273cf38e671["TestDebugPrint()"] 447c0b4e_be9e_63f2_c7f3_3273cf38e671 -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a 9eed9791_f1ed_b6e8_2c90_03ae20a60554["TestDebugPrintFunc()"] 9eed9791_f1ed_b6e8_2c90_03ae20a60554 -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a 180af47c_6002_47be_2d4e_da9fdb0e2e02["TestDebugPrintError()"] 180af47c_6002_47be_2d4e_da9fdb0e2e02 -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a 37e0965d_3863_9dce_f74b_67b2feacccad["TestDebugPrintRoutes()"] 37e0965d_3863_9dce_f74b_67b2feacccad -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a 7007f354_750f_ae3a_aacd_eba9cb79758e["TestDebugPrintRouteFunc()"] 7007f354_750f_ae3a_aacd_eba9cb79758e -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a f7721d7a_fe43_f692_01f6_5d51e24a0d96["TestDebugPrintLoadTemplate()"] f7721d7a_fe43_f692_01f6_5d51e24a0d96 -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a 5727a912_5bd0_ef3f_cef7_94285407288d["TestDebugPrintWARNINGSetHTMLTemplate()"] 5727a912_5bd0_ef3f_cef7_94285407288d -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a 5c873b57_e3a6_2e5b_8a77_7c53d256ea2f["TestDebugPrintWARNINGDefault()"] 5c873b57_e3a6_2e5b_8a77_7c53d256ea2f -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a 6ba87d34_d177_81c0_82cc_21c4e9e8fddb["TestDebugPrintWARNINGDefaultWithUnsupportedVersion()"] 6ba87d34_d177_81c0_82cc_21c4e9e8fddb -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a 7069dfa9_de07_c8bf_8ae1_4547d35d0706["TestDebugPrintWARNINGNew()"] 7069dfa9_de07_c8bf_8ae1_4547d35d0706 -->|calls| 8ee5a2af_634d_2b9b_d50c_11685d28130a style 8ee5a2af_634d_2b9b_d50c_11685d28130a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
debug_test.go lines 136–165
func captureOutput(t *testing.T, f func()) string {
reader, writer, err := os.Pipe()
if err != nil {
panic(err)
}
defaultWriter := DefaultWriter
defaultErrorWriter := DefaultErrorWriter
defer func() {
DefaultWriter = defaultWriter
DefaultErrorWriter = defaultErrorWriter
log.SetOutput(os.Stderr)
}()
DefaultWriter = writer
DefaultErrorWriter = writer
log.SetOutput(writer)
out := make(chan string)
wg := new(sync.WaitGroup)
wg.Add(1)
go func() {
var buf strings.Builder
wg.Done()
_, err := io.Copy(&buf, reader)
assert.NoError(t, err)
out <- buf.String()
}()
wg.Wait()
f()
writer.Close()
return <-out
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does captureOutput() do?
captureOutput() is a function in the gin codebase.
What calls captureOutput()?
captureOutput() is called by 10 function(s): TestDebugPrint, TestDebugPrintError, TestDebugPrintFunc, TestDebugPrintLoadTemplate, TestDebugPrintRouteFunc, TestDebugPrintRoutes, TestDebugPrintWARNINGDefault, TestDebugPrintWARNINGDefaultWithUnsupportedVersion, and 2 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free