From 76433d904059009050393ae31c569b7f2df72350 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Mon, 25 Dec 2017 10:13:37 -0500 Subject: [PATCH] little things --- common/repeat_timer.go | 10 +++++----- common/repeat_timer_test.go | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/common/repeat_timer.go b/common/repeat_timer.go index 2947a9166..7c5291844 100644 --- a/common/repeat_timer.go +++ b/common/repeat_timer.go @@ -42,11 +42,11 @@ func (t *defaultTicker) Stop() { //---------------------------------------- // LogicalTickerMaker -// Construct a TickerMaker that always uses `ch`. +// Construct a TickerMaker that always uses `source`. // It's useful for simulating a deterministic clock. -func NewLogicalTickerMaker(ch chan time.Time) TickerMaker { +func NewLogicalTickerMaker(source chan time.Time) TickerMaker { return func(dur time.Duration) Ticker { - return newLogicalTicker(ch, dur) + return newLogicalTicker(source, dur) } } @@ -66,8 +66,8 @@ func newLogicalTicker(source <-chan time.Time, interval time.Duration) Ticker { return lt } -// We clearly need a new goroutine, for logicalTicker may have been created -// from a goroutine separate from the source. +// We need a goroutine to read times from t.source +// and fire on t.Chan() when `interval` has passed. func (t *logicalTicker) fireRoutine(interval time.Duration) { source := t.source diff --git a/common/repeat_timer_test.go b/common/repeat_timer_test.go index f43cc7514..44a1a0679 100644 --- a/common/repeat_timer_test.go +++ b/common/repeat_timer_test.go @@ -29,7 +29,6 @@ func TestRepeat(t *testing.T) { select { case _ = <-rt.Chan(): case <-timeout: - panic("QWE") t.Fatal("expected RepeatTimer to fire") } } @@ -43,7 +42,7 @@ func TestRepeat(t *testing.T) { } tm := NewLogicalTickerMaker(ch) - dur := time.Duration(0) // dontcare + dur := time.Duration(10 * time.Millisecond) // less than a second rt := NewRepeatTimerWithTickerMaker("bar", dur, tm) // Start at 0.