MCPcopy
hub / github.com/gofiber/fiber / TestDefaultCtx_signalReleased_Idempotent

Function TestDefaultCtx_signalReleased_Idempotent

ctx_reclaim_test.go:116–135  ·  view source on GitHub ↗

TestDefaultCtx_signalReleased_Idempotent guards the sync.Once semantics: even if the request release path fires multiple times, the latch must close once.

(t *testing.T)

Source from the content-addressed store, hash-verified

114// TestDefaultCtx_signalReleased_Idempotent guards the sync.Once semantics: even
115// if the request release path fires multiple times, the latch must close once.
116func TestDefaultCtx_signalReleased_Idempotent(t *testing.T) {
117 t.Parallel()
118 app, c := acquireReclaimTestCtx(t)
119
120 handlerDone := make(chan struct{})
121 c.ScheduleReclaim(handlerDone, nil)
122
123 require.NotPanics(t, func() {
124 c.signalReleased()
125 c.signalReleased()
126 c.signalReleased()
127 })
128
129 close(handlerDone)
130 require.Eventually(t, func() bool {
131 return !c.IsAbandoned()
132 }, time.Second, 5*time.Millisecond, "ctx must still be reclaimed exactly once")
133
134 _ = app
135}
136
137// TestApp_releaseDefaultCtx_AbandonedSignalsReclaim exercises the internal
138// releaseDefaultCtx path (called by defaultRequestHandler's defer) for an

Callers

nothing calls this directly

Calls 4

acquireReclaimTestCtxFunction · 0.85
ScheduleReclaimMethod · 0.65
signalReleasedMethod · 0.65
IsAbandonedMethod · 0.65

Tested by

no test coverage detected