mirror of
https://github.com/hibiken/asynq.git
synced 2025-09-19 05:17:30 +08:00
Fix flaky tests
This commit is contained in:
@@ -8,7 +8,6 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
"sort"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -1523,6 +1522,7 @@ func TestInspectorArchiveAllPendingTasks(t *testing.T) {
|
||||
z1 := base.Z{Message: m1, Score: now.Add(5 * time.Minute).Unix()}
|
||||
z2 := base.Z{Message: m2, Score: now.Add(15 * time.Minute).Unix()}
|
||||
inspector := NewInspector(getRedisConnOpt(t))
|
||||
inspector.rdb.SetClock(timeutil.NewSimulatedClock(now))
|
||||
|
||||
tests := []struct {
|
||||
pending map[string][]*base.TaskMessage
|
||||
@@ -1614,12 +1614,8 @@ func TestInspectorArchiveAllPendingTasks(t *testing.T) {
|
||||
}
|
||||
}
|
||||
for qname, want := range tc.wantArchived {
|
||||
// Allow Z.Score to differ by up to 2.
|
||||
approxOpt := cmp.Comparer(func(a, b int64) bool {
|
||||
return math.Abs(float64(a-b)) < 2
|
||||
})
|
||||
gotArchived := h.GetArchivedEntries(t, r, qname)
|
||||
if diff := cmp.Diff(want, gotArchived, h.SortZSetEntryOpt, approxOpt); diff != "" {
|
||||
if diff := cmp.Diff(want, gotArchived, h.SortZSetEntryOpt); diff != "" {
|
||||
t.Errorf("unexpected archived tasks in queue %q: (-want, +got)\n%s", qname, diff)
|
||||
}
|
||||
}
|
||||
@@ -1640,6 +1636,7 @@ func TestInspectorArchiveAllScheduledTasks(t *testing.T) {
|
||||
z4 := base.Z{Message: m4, Score: now.Add(2 * time.Minute).Unix()}
|
||||
|
||||
inspector := NewInspector(getRedisConnOpt(t))
|
||||
inspector.rdb.SetClock(timeutil.NewSimulatedClock(now))
|
||||
|
||||
tests := []struct {
|
||||
scheduled map[string][]base.Z
|
||||
@@ -1747,12 +1744,8 @@ func TestInspectorArchiveAllScheduledTasks(t *testing.T) {
|
||||
}
|
||||
}
|
||||
for qname, want := range tc.wantArchived {
|
||||
// Allow Z.Score to differ by up to 2.
|
||||
approxOpt := cmp.Comparer(func(a, b int64) bool {
|
||||
return math.Abs(float64(a-b)) < 2
|
||||
})
|
||||
gotArchived := h.GetArchivedEntries(t, r, qname)
|
||||
if diff := cmp.Diff(want, gotArchived, h.SortZSetEntryOpt, approxOpt); diff != "" {
|
||||
if diff := cmp.Diff(want, gotArchived, h.SortZSetEntryOpt); diff != "" {
|
||||
t.Errorf("unexpected archived tasks in queue %q: (-want, +got)\n%s", qname, diff)
|
||||
}
|
||||
}
|
||||
@@ -1773,6 +1766,7 @@ func TestInspectorArchiveAllRetryTasks(t *testing.T) {
|
||||
z4 := base.Z{Message: m4, Score: now.Add(2 * time.Minute).Unix()}
|
||||
|
||||
inspector := NewInspector(getRedisConnOpt(t))
|
||||
inspector.rdb.SetClock(timeutil.NewSimulatedClock(now))
|
||||
|
||||
tests := []struct {
|
||||
retry map[string][]base.Z
|
||||
@@ -1863,10 +1857,9 @@ func TestInspectorArchiveAllRetryTasks(t *testing.T) {
|
||||
t.Errorf("unexpected retry tasks in queue %q: (-want, +got)\n%s", qname, diff)
|
||||
}
|
||||
}
|
||||
cmpOpt := h.EquateInt64Approx(2) // allow for 2 seconds difference in Z.Score
|
||||
for qname, want := range tc.wantArchived {
|
||||
wantArchived := h.GetArchivedEntries(t, r, qname)
|
||||
if diff := cmp.Diff(want, wantArchived, h.SortZSetEntryOpt, cmpOpt); diff != "" {
|
||||
if diff := cmp.Diff(want, wantArchived, h.SortZSetEntryOpt); diff != "" {
|
||||
t.Errorf("unexpected archived tasks in queue %q: (-want, +got)\n%s", qname, diff)
|
||||
}
|
||||
}
|
||||
@@ -2814,8 +2807,9 @@ func TestInspectorArchiveTaskArchivesPendingTask(t *testing.T) {
|
||||
m1 := h.NewTaskMessage("task1", nil)
|
||||
m2 := h.NewTaskMessageWithQueue("task2", nil, "custom")
|
||||
m3 := h.NewTaskMessageWithQueue("task3", nil, "custom")
|
||||
inspector := NewInspector(getRedisConnOpt(t))
|
||||
now := time.Now()
|
||||
inspector := NewInspector(getRedisConnOpt(t))
|
||||
inspector.rdb.SetClock(timeutil.NewSimulatedClock(now))
|
||||
|
||||
tests := []struct {
|
||||
pending map[string][]*base.TaskMessage
|
||||
@@ -2910,6 +2904,7 @@ func TestInspectorArchiveTaskArchivesScheduledTask(t *testing.T) {
|
||||
z3 := base.Z{Message: m3, Score: now.Add(2 * time.Minute).Unix()}
|
||||
|
||||
inspector := NewInspector(getRedisConnOpt(t))
|
||||
inspector.rdb.SetClock(timeutil.NewSimulatedClock(now))
|
||||
|
||||
tests := []struct {
|
||||
scheduled map[string][]base.Z
|
||||
@@ -2986,6 +2981,7 @@ func TestInspectorArchiveTaskArchivesRetryTask(t *testing.T) {
|
||||
z3 := base.Z{Message: m3, Score: now.Add(2 * time.Minute).Unix()}
|
||||
|
||||
inspector := NewInspector(getRedisConnOpt(t))
|
||||
inspector.rdb.SetClock(timeutil.NewSimulatedClock(now))
|
||||
|
||||
tests := []struct {
|
||||
retry map[string][]base.Z
|
||||
@@ -3060,6 +3056,7 @@ func TestInspectorArchiveTaskError(t *testing.T) {
|
||||
z3 := base.Z{Message: m3, Score: now.Add(2 * time.Minute).Unix()}
|
||||
|
||||
inspector := NewInspector(getRedisConnOpt(t))
|
||||
inspector.rdb.SetClock(timeutil.NewSimulatedClock(now))
|
||||
|
||||
tests := []struct {
|
||||
retry map[string][]base.Z
|
||||
|
Reference in New Issue
Block a user