From d81654af9d495f0e2e012cc01765bef5a4e33b68 Mon Sep 17 00:00:00 2001 From: Jacek Kaniuk Date: Wed, 23 Oct 2019 16:07:38 +0200 Subject: [PATCH] pkg/util/workqueue/delaying_queue: export contructor with custom clock Kubernetes-commit: 638c02f6cdb4e269f46b60fe1f91e553cfc59749 --- util/workqueue/delaying_queue.go | 9 ++++++--- util/workqueue/delaying_queue_test.go | 10 +++++----- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/util/workqueue/delaying_queue.go b/util/workqueue/delaying_queue.go index 3868bcac..e1ab76ea 100644 --- a/util/workqueue/delaying_queue.go +++ b/util/workqueue/delaying_queue.go @@ -35,14 +35,17 @@ type DelayingInterface interface { // NewDelayingQueue constructs a new workqueue with delayed queuing ability func NewDelayingQueue() DelayingInterface { - return newDelayingQueue(clock.RealClock{}, "") + return NewDelayingQueueWithCustomClock(clock.RealClock{}, "") } +// NewNamedDelayingQueue constructs a new named workqueue with delayed queuing ability func NewNamedDelayingQueue(name string) DelayingInterface { - return newDelayingQueue(clock.RealClock{}, name) + return NewDelayingQueueWithCustomClock(clock.RealClock{}, name) } -func newDelayingQueue(clock clock.Clock, name string) DelayingInterface { +// NewDelayingQueueWithCustomClock constructs a new named workqueue +// with ability to inject real or fake clock for testing purposes +func NewDelayingQueueWithCustomClock(clock clock.Clock, name string) DelayingInterface { ret := &delayingType{ Interface: NewNamed(name), clock: clock, diff --git a/util/workqueue/delaying_queue_test.go b/util/workqueue/delaying_queue_test.go index 4e427c6b..2af8ba3a 100644 --- a/util/workqueue/delaying_queue_test.go +++ b/util/workqueue/delaying_queue_test.go @@ -29,7 +29,7 @@ import ( func TestSimpleQueue(t *testing.T) { fakeClock := clock.NewFakeClock(time.Now()) - q := newDelayingQueue(fakeClock, "") + q := NewDelayingQueueWithCustomClock(fakeClock, "") first := "foo" @@ -71,7 +71,7 @@ func TestSimpleQueue(t *testing.T) { func TestDeduping(t *testing.T) { fakeClock := clock.NewFakeClock(time.Now()) - q := newDelayingQueue(fakeClock, "") + q := NewDelayingQueueWithCustomClock(fakeClock, "") first := "foo" @@ -130,7 +130,7 @@ func TestDeduping(t *testing.T) { func TestAddTwoFireEarly(t *testing.T) { fakeClock := clock.NewFakeClock(time.Now()) - q := newDelayingQueue(fakeClock, "") + q := NewDelayingQueueWithCustomClock(fakeClock, "") first := "foo" second := "bar" @@ -179,7 +179,7 @@ func TestAddTwoFireEarly(t *testing.T) { func TestCopyShifting(t *testing.T) { fakeClock := clock.NewFakeClock(time.Now()) - q := newDelayingQueue(fakeClock, "") + q := NewDelayingQueueWithCustomClock(fakeClock, "") first := "foo" second := "bar" @@ -217,7 +217,7 @@ func TestCopyShifting(t *testing.T) { func BenchmarkDelayingQueue_AddAfter(b *testing.B) { fakeClock := clock.NewFakeClock(time.Now()) - q := newDelayingQueue(fakeClock, "") + q := NewDelayingQueueWithCustomClock(fakeClock, "") // Add items for n := 0; n < b.N; n++ {