stream: handle empty event in TestEventSnapshot

When the race detector is enabled we see this test fail occasionally. The reordering of execution seems to make it possible for the snapshot splice to happen before any events are published to the topicBuffers.

We can handle this case in the test the same way it is handled by a subscription, by proceeding to the next event.
This commit is contained in:
Daniel Nephin 2020-07-20 18:20:02 -04:00
parent 56c4d6e98f
commit 7599e280de
1 changed files with 6 additions and 0 deletions

View File

@ -121,6 +121,12 @@ func TestEventSnapshot(t *testing.T) {
require.NoError(t, err,
"current state: snapDone=%v snapIDs=%s updateIDs=%s", snapDone,
snapIDs, updateIDs)
if len(curItem.Events) == 0 {
// An item without an error or events is a bufferItem.NextLink event.
// A subscription handles this by proceeding to the next item,
// so we do the same here.
continue
}
e := curItem.Events[0]
switch {
case snapDone: