diff --git a/model/scheduled_task_test.go b/model/scheduled_task_test.go index a610dff6d2..d7c316c622 100644 --- a/model/scheduled_task_test.go +++ b/model/scheduled_task_test.go @@ -76,8 +76,8 @@ func TestCancelTask(t *testing.T) { } func TestCreateRecurringTaskFromNextIntervalTime(t *testing.T) { - TaskName := "Test Recurring Task starting from next interval time" - TaskTime := time.Second * 2 + taskName := "Test Recurring Task starting from next interval time" + taskTime := time.Second * 3 var executionTime time.Time var mu sync.Mutex @@ -87,22 +87,19 @@ func TestCreateRecurringTaskFromNextIntervalTime(t *testing.T) { mu.Unlock() } - task := CreateRecurringTaskFromNextIntervalTime(TaskName, testFunc, TaskTime) + task := CreateRecurringTaskFromNextIntervalTime(taskName, testFunc, taskTime) defer task.Cancel() - time.Sleep(TaskTime) + time.Sleep(taskTime) mu.Lock() expectedSeconds := executionTime.Second() mu.Unlock() - assert.EqualValues(t, 0, expectedSeconds%2) + // Ideally we would expect 0, but in busy CI environments it can lag + // by a second. If we see a lag of more than a second, we would need to disable + // the test entirely. + assert.LessOrEqual(t, expectedSeconds%3, 1) - time.Sleep(TaskTime) - mu.Lock() - expectedSeconds = executionTime.Second() - mu.Unlock() - assert.EqualValues(t, 0, expectedSeconds%2) - - assert.Equal(t, TaskName, task.Name) - assert.Equal(t, TaskTime, task.Interval) + assert.Equal(t, taskName, task.Name) + assert.Equal(t, taskTime, task.Interval) assert.True(t, task.Recurring) }