time: add Timer.Reset
Fixes #4412.
R=adg, rsc, rogpeppe, andrewdg, bradfitz
CC=golang-dev
https://golang.org/cl/7086050
diff --git a/src/pkg/time/sleep_test.go b/src/pkg/time/sleep_test.go
index e05773d..3e4b6c0 100644
--- a/src/pkg/time/sleep_test.go
+++ b/src/pkg/time/sleep_test.go
@@ -245,3 +245,27 @@
}
<-c
}
+
+func TestReset(t *testing.T) {
+ t0 := NewTimer(100 * Millisecond)
+ Sleep(50 * Millisecond)
+ if t0.Reset(150*Millisecond) != true {
+ t.Fatalf("resetting unfired timer returned false")
+ }
+ Sleep(100 * Millisecond)
+ select {
+ case <-t0.C:
+ t.Fatalf("timer fired early")
+ default:
+ }
+ Sleep(100 * Millisecond)
+ select {
+ case <-t0.C:
+ default:
+ t.Fatalf("reset timer did not fire")
+ }
+
+ if t0.Reset(50*Millisecond) != false {
+ t.Fatalf("resetting expired timer returned true")
+ }
+}