MCPcopy
hub / github.com/kubernetes/client-go / TestBackoffReset

Function TestBackoffReset

util/flowcontrol/backoff_test.go:52–76  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

50}
51
52func TestBackoffReset(t *testing.T) {
53 id := "_idReset"
54 tc := clock.NewFakeClock(time.Now())
55 step := time.Second
56 maxDuration := step * 5
57 b := NewFakeBackOff(step, maxDuration, tc)
58 startTime := tc.Now()
59
60 // get to backoff = maxDuration
61 for i := 0; i <= int(maxDuration/step); i++ {
62 tc.Step(step)
63 b.Next(id, tc.Now())
64 }
65
66 // backoff should be capped at maxDuration
67 if !b.IsInBackOffSince(id, tc.Now()) {
68 t.Errorf("expected to be in Backoff got %s", b.Get(id))
69 }
70
71 lastUpdate := tc.Now()
72 tc.Step(2*maxDuration + step) // time += 11s, 11 > 2*maxDuration
73 if b.IsInBackOffSince(id, lastUpdate) {
74 t.Errorf("expected to not be in Backoff after reset (start=%s, now=%s, lastUpdate=%s), got %s", startTime, tc.Now(), lastUpdate, b.Get(id))
75 }
76}
77
78func TestBackoffHighWaterMark(t *testing.T) {
79 id := "_idHiWaterMark"

Callers

nothing calls this directly

Calls 6

NewFakeBackOffFunction · 0.85
IsInBackOffSinceMethod · 0.80
NowMethod · 0.65
NextMethod · 0.65
ErrorfMethod · 0.65
GetMethod · 0.65

Tested by

no test coverage detected