Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Unified Diff: common/clock/testclock/testtimer_test.go

Issue 1679023005: Add Context cancellation to clock. (Closed) Base URL: https://github.com/luci/luci-go@master
Patch Set: Much more invasive, cancel by default, remove meter package. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: common/clock/testclock/testtimer_test.go
diff --git a/common/clock/testclock/testtimer_test.go b/common/clock/testclock/testtimer_test.go
index 90234e43ada67a3c9208c30444d22721c9b8e2a6..1420e9bdf9815049650a318d6d76d6a08e2e8bd6 100644
--- a/common/clock/testclock/testtimer_test.go
+++ b/common/clock/testclock/testtimer_test.go
@@ -9,6 +9,8 @@ import (
"time"
"github.com/luci/luci-go/common/clock"
+ "golang.org/x/net/context"
+
. "github.com/smartystreets/goconvey/convey"
)
@@ -16,14 +18,15 @@ func TestTestTimer(t *testing.T) {
t.Parallel()
Convey(`A testing clock instance`, t, func() {
- now := time.Date(2015, 01, 01, 00, 00, 00, 00, time.UTC)
+ ctx := context.Background()
+ now := TestTimeLocal
c := New(now)
Convey(`A timer instance`, func() {
- t := c.NewTimer()
+ t := c.NewTimer(ctx)
Convey(`Should have a non-nil C.`, func() {
- So(t.GetC(), ShouldBeNil)
+ So(t.GetC(), ShouldNotBeNil)
})
Convey(`When activated`, func() {
@@ -36,11 +39,11 @@ func TestTestTimer(t *testing.T) {
Convey(`When stopped, should return active.`, func() {
So(t.Stop(), ShouldBeTrue)
- So(t.GetC(), ShouldBeNil)
+ So(t.GetC(), ShouldNotBeNil)
Convey(`And when stopped again, should return inactive.`, func() {
So(t.Stop(), ShouldBeFalse)
- So(t.GetC(), ShouldBeNil)
+ So(t.GetC(), ShouldNotBeNil)
})
})
@@ -63,12 +66,11 @@ func TestTestTimer(t *testing.T) {
So(t.Reset(1*time.Second), ShouldBeFalse)
c.Add(1 * time.Second)
- So(t.GetC(), ShouldNotBeNil)
- So(<-t.GetC(), ShouldResemble, now.Add(1*time.Second))
+ So(<-t.GetC(), ShouldResemble, clock.AfterResult{Time: now.Add(1 * time.Second)})
})
})
- Convey(`Multiple goroutines using the timer...`, func() {
+ Convey(`Multiple goroutines using timers...`, func() {
// Mark when timers are started, so we can ensure that our signalling
// happens after the timers have been instantiated.
timerStartedC := make(chan bool)
@@ -76,10 +78,10 @@ func TestTestTimer(t *testing.T) {
timerStartedC <- true
})
- resultC := make(chan time.Time)
+ resultC := make(chan clock.AfterResult)
for i := time.Duration(0); i < 5; i++ {
go func(d time.Duration) {
- timer := c.NewTimer()
+ timer := c.NewTimer(ctx)
timer.Reset(d)
resultC <- <-timer.GetC()
}(i * time.Second)

Powered by Google App Engine
This is Rietveld 408576698