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

Function TestAddTwoFireEarly

util/workqueue/delaying_queue_test.go:131–178  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

129}
130
131func TestAddTwoFireEarly(t *testing.T) {
132 fakeClock := clock.NewFakeClock(time.Now())
133 q := newDelayingQueue(fakeClock, "")
134
135 first := "foo"
136 second := "bar"
137 third := "baz"
138
139 q.AddAfter(first, 1*time.Second)
140 q.AddAfter(second, 50*time.Millisecond)
141 if err := waitForWaitingQueueToFill(q); err != nil {
142 t.Fatalf("unexpected err: %v", err)
143 }
144
145 if q.Len() != 0 {
146 t.Errorf("should not have added")
147 }
148
149 fakeClock.Step(60 * time.Millisecond)
150
151 if err := waitForAdded(q, 1); err != nil {
152 t.Fatalf("unexpected err: %v", err)
153 }
154 item, _ := q.Get()
155 if !reflect.DeepEqual(item, second) {
156 t.Errorf("expected %v, got %v", second, item)
157 }
158
159 q.AddAfter(third, 2*time.Second)
160
161 fakeClock.Step(1 * time.Second)
162 if err := waitForAdded(q, 1); err != nil {
163 t.Fatalf("unexpected err: %v", err)
164 }
165 item, _ = q.Get()
166 if !reflect.DeepEqual(item, first) {
167 t.Errorf("expected %v, got %v", first, item)
168 }
169
170 fakeClock.Step(2 * time.Second)
171 if err := waitForAdded(q, 1); err != nil {
172 t.Fatalf("unexpected err: %v", err)
173 }
174 item, _ = q.Get()
175 if !reflect.DeepEqual(item, third) {
176 t.Errorf("expected %v, got %v", third, item)
177 }
178}
179
180func TestCopyShifting(t *testing.T) {
181 fakeClock := clock.NewFakeClock(time.Now())

Callers

nothing calls this directly

Calls 8

newDelayingQueueFunction · 0.85
waitForAddedFunction · 0.85
NowMethod · 0.65
AddAfterMethod · 0.65
LenMethod · 0.65
ErrorfMethod · 0.65
GetMethod · 0.65

Tested by

no test coverage detected