Try to fix flaky redis standalone test on ci (#2553)

This commit is contained in:
Martin Angers 2021-10-18 11:08:36 -04:00 committed by GitHub
parent 8c6ca606c3
commit b1bd3aee5b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -168,20 +168,37 @@ func TestPublishHasListeners(t *testing.T) {
psc := redigo.PubSubConn{Conn: sconn}
require.NoError(t, psc.Subscribe(prefix+"a"))
start := time.Now()
var loopOk bool
loop1:
for time.Since(start) < 2*time.Second {
msg := psc.Receive()
switch msg := msg.(type) {
case redigo.Subscription:
require.Equal(t, msg.Count, 1)
loopOk = true
break loop1
}
}
require.True(t, loopOk, "timed out")
ok, err = redis.PublishHasListeners(pool, pconn, prefix+"a", "B")
require.NoError(t, err)
require.True(t, ok)
start := time.Now()
loop:
start = time.Now()
loopOk = false
loop2:
for time.Since(start) < 2*time.Second {
msg := psc.Receive()
switch msg := msg.(type) {
case redigo.Message:
require.Equal(t, "B", string(msg.Data))
break loop
loopOk = true
break loop2
}
}
require.True(t, loopOk, "timed out")
})
t.Run("cluster", func(t *testing.T) {
@ -213,6 +230,7 @@ func TestPublishHasListeners(t *testing.T) {
start := time.Now()
want := "B"
var loopOk bool
loop:
for time.Since(start) < 2*time.Second {
msg := psc.Receive()
@ -220,11 +238,13 @@ func TestPublishHasListeners(t *testing.T) {
case redigo.Message:
require.Equal(t, want, string(msg.Data))
if want == "C" {
loopOk = true
break loop
}
want = "C"
}
}
require.True(t, loopOk, "timed out")
})
}