Skip to content

Commit 074d4c4

Browse files
committed
update start time for scheduler
1 parent 0fbadf0 commit 074d4c4

2 files changed

Lines changed: 21 additions & 13 deletions

File tree

core/runner_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -365,27 +365,31 @@ func TestCancelMethodWithOnCancelFunc(t *testing.T) {
365365
runner, err := NewRunnerFromJob(mockTask, job)
366366
require.NoError(t, err)
367367

368-
called := make(chan bool, 1)
369-
370-
go runner.Run(context.Background())
368+
ready := make(chan struct{})
369+
go func() {
370+
close(ready)
371+
runner.Run(context.Background())
372+
}()
371373

374+
<-ready
375+
called := make(chan bool, 1)
372376
go func() {
373-
time.Sleep(50 * time.Millisecond)
377+
time.Sleep(500 * time.Millisecond)
374378
runner.Cancel(func() {
375379
called <- true
376-
}) // Call with callback
380+
})
377381
}()
378382

379383
outerLoop:
380384
for {
381385
select {
382386
case err := <-runner.ErrorChannel:
383-
assert.Error(t, err)
387+
assert.Error(t, err, "Runner should return an error on cancel")
384388
assert.Equal(t, <-called, true, "onCancelFunc should have been called")
385-
assert.Contains(t, err.Error(), "canceled")
389+
assert.Contains(t, err.Error(), "canceled", "Error should indicate cancellation")
386390
break outerLoop
387391
case results := <-runner.ResultsChannel:
388-
assert.Nil(t, results)
392+
assert.Nil(t, results, "Results should be nil on cancel")
389393
break outerLoop
390394
}
391395
}

core/scheduler_test.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"github.com/stretchr/testify/require"
1212
)
1313

14-
const maxDeviation = 100 * time.Millisecond
14+
const maxDeviation = 500 * time.Millisecond
1515

1616
// funcScheduler is a mock function type that can be passed to Scheduler.
1717
type funcScheduler struct {
@@ -110,11 +110,12 @@ func TestScheduleWithDelay(t *testing.T) {
110110
scheduler, err := NewScheduler(&startTime, mockFn.Call)
111111
require.NoError(t, err)
112112

113-
start := time.Now()
114113
scheduler.Go(context.Background())
115114

115+
var start time.Time
116116
done := make(chan bool)
117117
go func() {
118+
start = time.Now()
118119
mockFn.wg.Wait()
119120
done <- true
120121
}()
@@ -138,11 +139,12 @@ func TestScheduleTimeInPast(t *testing.T) {
138139
scheduler, err := NewScheduler(&startTime, mockFn.Call)
139140
require.NoError(t, err)
140141

141-
start := time.Now()
142142
scheduler.Go(context.Background())
143143

144+
var start time.Time
144145
done := make(chan bool)
145146
go func() {
147+
start = time.Now()
146148
mockFn.wg.Wait()
147149
done <- true
148150
}()
@@ -165,11 +167,12 @@ func TestScheduleNoDelay(t *testing.T) {
165167
scheduler, err := NewScheduler(&now, mockFn.Call)
166168
require.NoError(t, err)
167169

168-
start := time.Now()
169170
scheduler.Go(context.Background())
170171

172+
var start time.Time
171173
done := make(chan bool)
172174
go func() {
175+
start = time.Now()
173176
mockFn.wg.Wait()
174177
done <- true
175178
}()
@@ -194,11 +197,12 @@ func TestScheduleWithWorkDuration(t *testing.T) {
194197
scheduler, err := NewScheduler(&startTime, mockFn.Call)
195198
require.NoError(t, err)
196199

197-
start := time.Now()
198200
scheduler.Go(context.Background())
199201

202+
var start time.Time
200203
done := make(chan bool)
201204
go func() {
205+
start = time.Now()
202206
mockFn.wg.Wait()
203207
done <- true
204208
}()

0 commit comments

Comments
 (0)