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

Unified Diff: go/src/infra/libs/clock/testclock/testtimer_test.go

Issue 1223213002: Remove libs/clock in favor of luci-go/common/clock. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@abstract
Patch Set: rebase Created 5 years, 5 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
« no previous file with comments | « go/src/infra/libs/clock/testclock/testtimer.go ('k') | go/src/infra/libs/clock/timer.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: go/src/infra/libs/clock/testclock/testtimer_test.go
diff --git a/go/src/infra/libs/clock/testclock/testtimer_test.go b/go/src/infra/libs/clock/testclock/testtimer_test.go
deleted file mode 100644
index 92e277a5bd0cdd01d56020938b86bc1e2c96e620..0000000000000000000000000000000000000000
--- a/go/src/infra/libs/clock/testclock/testtimer_test.go
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package testclock
-
-import (
- "testing"
- "time"
-
- . "github.com/smartystreets/goconvey/convey"
- "infra/libs/clock"
-)
-
-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)
- c := New(now)
-
- Convey(`A timer instance`, func() {
- t := c.NewTimer()
-
- Convey(`Should have a non-nil C.`, func() {
- So(t.GetC(), ShouldBeNil)
- })
-
- Convey(`When activated`, func() {
- So(t.Reset(1*time.Second), ShouldBeFalse)
-
- Convey(`When reset, should return active.`, func() {
- So(t.Reset(1*time.Hour), ShouldBeTrue)
- So(t.GetC(), ShouldNotBeNil)
- })
-
- Convey(`When stopped, should return active.`, func() {
- So(t.Stop(), ShouldBeTrue)
- So(t.GetC(), ShouldBeNil)
-
- Convey(`And when stopped again, should return inactive.`, func() {
- So(t.Stop(), ShouldBeFalse)
- So(t.GetC(), ShouldBeNil)
- })
- })
-
- Convey(`When stopped after expiring, should not have a signal.`, func() {
- c.Add(1 * time.Second)
- So(t.Stop(), ShouldBeTrue)
-
- var signalled bool
- select {
- case <-t.GetC():
- signalled = true
- default:
- break
- }
- So(signalled, ShouldBeFalse)
- })
- })
-
- Convey(`Should successfully signal.`, func() {
- 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))
- })
- })
-
- Convey(`Multiple goroutines using the timer...`, func() {
- // Mark when timers are started, so we can ensure that our signalling
- // happens after the timers have been instantiated.
- timerStartedC := make(chan bool)
- c.SetTimerCallback(func(_ clock.Timer) {
- timerStartedC <- true
- })
-
- resultC := make(chan time.Time)
- for i := time.Duration(0); i < 5; i++ {
- go func(d time.Duration) {
- timer := c.NewTimer()
- timer.Reset(d)
- resultC <- <-timer.GetC()
- }(i * time.Second)
- <-timerStartedC
- }
-
- moreResults := func() bool {
- select {
- case <-resultC:
- return true
- default:
- return false
- }
- }
-
- // Advance the clock to +2s. Three timers should signal.
- c.Set(now.Add(2 * time.Second))
- <-resultC
- <-resultC
- <-resultC
- So(moreResults(), ShouldBeFalse)
-
- // Advance clock to +3s. One timer should signal.
- c.Set(now.Add(3 * time.Second))
- <-resultC
- So(moreResults(), ShouldBeFalse)
-
- // Advance clock to +10s. One final timer should signal.
- c.Set(now.Add(10 * time.Second))
- <-resultC
- So(moreResults(), ShouldBeFalse)
- })
- })
-}
« no previous file with comments | « go/src/infra/libs/clock/testclock/testtimer.go ('k') | go/src/infra/libs/clock/timer.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698