diff --git a/clock_test.go b/clock_test.go
index 322b742..fb024e4 100644
--- a/clock_test.go
+++ b/clock_test.go
@@ -12,32 +12,34 @@ import (
// Ensure that the clock's After channel sends at the correct time.
func TestClock_After(t *testing.T) {
var ok bool
+ ok = false
go func() {
time.Sleep(10 * time.Millisecond)
ok = true
}()
go func() {
- time.Sleep(30 * time.Millisecond)
- t.Fatal("too late")
+ time.Sleep(300 * time.Millisecond)
+ ok = false
}()
gosched()
<-New().After(20 * time.Millisecond)
if !ok {
- t.Fatal("too early")
+ t.Fatal("bad timer")
}
}
// Ensure that the clock's AfterFunc executes at the correct time.
func TestClock_AfterFunc(t *testing.T) {
var ok bool
+ ok = false
go func() {
time.Sleep(10 * time.Millisecond)
ok = true
}()
go func() {
- time.Sleep(30 * time.Millisecond)
- t.Fatal("too late")
+ time.Sleep(300 * time.Millisecond)
+ ok = false
}()
gosched()
@@ -48,7 +50,7 @@ func TestClock_AfterFunc(t *testing.T) {
})
wg.Wait()
if !ok {
- t.Fatal("too early")
+ t.Fatal("bad timer")
}
}
@@ -64,32 +66,34 @@ func TestClock_Now(t *testing.T) {
// Ensure that the clock sleeps for the appropriate amount of time.
func TestClock_Sleep(t *testing.T) {
var ok bool
+ ok = false
go func() {
time.Sleep(10 * time.Millisecond)
ok = true
}()
go func() {
- time.Sleep(30 * time.Millisecond)
- t.Fatal("too late")
+ time.Sleep(300 * time.Millisecond)
+ ok = false
}()
gosched()
New().Sleep(20 * time.Millisecond)
if !ok {
- t.Fatal("too early")
+ t.Fatal("bad timer")
}
}
// Ensure that the clock ticks correctly.
func TestClock_Tick(t *testing.T) {
var ok bool
+ ok = false
go func() {
time.Sleep(10 * time.Millisecond)
ok = true
}()
go func() {
- time.Sleep(50 * time.Millisecond)
- t.Fatal("too late")
+ time.Sleep(500 * time.Millisecond)
+ ok = false
}()
gosched()
@@ -97,7 +101,7 @@ func TestClock_Tick(t *testing.T) {
<-c
<-c
if !ok {
- t.Fatal("too early")
+ t.Fatal("bad timer")
}
}
@@ -109,8 +113,8 @@ func TestClock_Ticker(t *testing.T) {
ok = true
}()
go func() {
- time.Sleep(200 * time.Millisecond)
- t.Fatal("too late")
+ time.Sleep(500 * time.Millisecond)
+ ok = false
}()
gosched()
@@ -118,16 +122,14 @@ func TestClock_Ticker(t *testing.T) {
<-ticker.C
<-ticker.C
if !ok {
- t.Fatal("too early")
+ t.Fatal("bad timer")
}
}
// Ensure that the clock's ticker can stop correctly.
func TestClock_Ticker_Stp(t *testing.T) {
- var ok bool
go func() {
time.Sleep(10 * time.Millisecond)
- ok = true
}()
gosched()
@@ -144,20 +146,21 @@ func TestClock_Ticker_Stp(t *testing.T) {
// Ensure that the clock's timer waits correctly.
func TestClock_Timer(t *testing.T) {
var ok bool
+ ok = false
go func() {
time.Sleep(10 * time.Millisecond)
ok = true
}()
go func() {
- time.Sleep(30 * time.Millisecond)
- t.Fatal("too late")
+ time.Sleep(300 * time.Millisecond)
+ ok = false
}()
gosched()
timer := New().Timer(20 * time.Millisecond)
<-timer.C
if !ok {
- t.Fatal("too early")
+ t.Fatal("bad timer")
}
if timer.Stop() {
@@ -167,10 +170,8 @@ func TestClock_Timer(t *testing.T) {
// Ensure that the clock's timer can be stopped.
func TestClock_Timer_Stop(t *testing.T) {
- var ok bool
go func() {
time.Sleep(10 * time.Millisecond)
- ok = true
}()
timer := New().Timer(20 * time.Millisecond)
@@ -190,13 +191,14 @@ func TestClock_Timer_Stop(t *testing.T) {
// Ensure that the clock's timer can be reset.
func TestClock_Timer_Reset(t *testing.T) {
var ok bool
+ ok = false
go func() {
time.Sleep(20 * time.Millisecond)
ok = true
}()
go func() {
- time.Sleep(30 * time.Millisecond)
- t.Fatal("too late")
+ time.Sleep(300 * time.Millisecond)
+ ok = false
}()
gosched()
@@ -207,7 +209,7 @@ func TestClock_Timer_Reset(t *testing.T) {
<-timer.C
if !ok {
- t.Fatal("too early")
+ t.Fatal("bad timer")
}
}