From 4bf3e7485bacb7ee78cb90ad6d8e31d8966ddfe6 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Tue, 28 Jun 2016 08:29:49 +0200 Subject: [PATCH] lib/events: Make events test less likely to fail --- lib/events/events_test.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/events/events_test.go b/lib/events/events_test.go index deac7d91..84f58e4f 100644 --- a/lib/events/events_test.go +++ b/lib/events/events_test.go @@ -290,12 +290,20 @@ func TestSinceUsesSubscriptionId(t *testing.T) { l.Log(events.DeviceDisconnected, "c") l.Log(events.DeviceConnected, "d") // SubscriptionID = 2 - events := bs.Since(0, nil) - if len(events) != 2 { - t.Fatal("Incorrect number of events:", len(events)) + // We need to loop for the events, as they may not all have been + // delivered to the buffered subscription when we get here. + t0 := time.Now() + for time.Since(t0) < time.Second { + events := bs.Since(0, nil) + if len(events) == 2 { + break + } + if len(events) > 2 { + t.Fatal("Incorrect number of events:", len(events)) + } } - events = bs.Since(1, nil) + events := bs.Since(1, nil) if len(events) != 1 { t.Fatal("Incorrect number of events:", len(events)) }