MCPcopy
hub / github.com/cortexlabs/cortex / TestBreakerReserveOverload

Function TestBreakerReserveOverload

pkg/proxy/breaker_test.go:72–91  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

70}
71
72func TestBreakerReserveOverload(t *testing.T) {
73 params := BreakerParams{QueueDepth: 1, MaxConcurrency: 1, InitialCapacity: 1}
74 b := NewBreaker(params) // Breaker capacity = 2
75 cb1, rr := b.Reserve(context.Background())
76 if !rr {
77 t.Fatal("Reserve1 failed")
78 }
79 _, rr = b.Reserve(context.Background())
80 if rr {
81 t.Fatal("Reserve2 was an unexpected success.")
82 }
83 // Release a slot.
84 cb1()
85 // And reserve it again.
86 cb2, rr := b.Reserve(context.Background())
87 if !rr {
88 t.Fatal("Reserve2 failed")
89 }
90 cb2()
91}
92
93func TestBreakerOverloadMixed(t *testing.T) {
94 // This tests when reservation and maybe are intermised.

Callers

nothing calls this directly

Calls 2

ReserveMethod · 0.95
NewBreakerFunction · 0.85

Tested by

no test coverage detected