diff options
author | Konstantin Varlamov <var-const@users.noreply.github.com> | 2018-05-10 19:18:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-10 19:18:22 -0400 |
commit | 8cde81689dcfc74c9b59e088bbe00f95ca4bf68d (patch) | |
tree | 94c8bb8874ab756e79ffa9c63d335d3ffc513fec /Firestore/core/test/firebase/firestore/util/async_queue_test.cc | |
parent | c7667229e2ab35d14fa7855789ee0584a2f8e817 (diff) |
Firestore C++: quick fix for flaky tests in AsyncQueue and Executor (#1245)
Diffstat (limited to 'Firestore/core/test/firebase/firestore/util/async_queue_test.cc')
-rw-r--r-- | Firestore/core/test/firebase/firestore/util/async_queue_test.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Firestore/core/test/firebase/firestore/util/async_queue_test.cc b/Firestore/core/test/firebase/firestore/util/async_queue_test.cc index bcee2e3..4247584 100644 --- a/Firestore/core/test/firebase/firestore/util/async_queue_test.cc +++ b/Firestore/core/test/firebase/firestore/util/async_queue_test.cc @@ -83,16 +83,20 @@ TEST_P(AsyncQueueTest, VerifyIsCurrentQueueWorksWithOperationInProgress) { queue.EnqueueBlocking([&] { EXPECT_NO_THROW(queue.VerifyIsCurrentQueue()); }); } +// TODO(varconst): this test is inherently flaky because it can't be guaranteed +// that the enqueued asynchronous operation didn't finish before the code has +// a chance to even enqueue the next operation. Delays are chosen so that the +// test is unlikely to fail in practice. Need to revisit this. TEST_P(AsyncQueueTest, CanScheduleOperationsInTheFuture) { std::string steps; queue.Enqueue([&steps] { steps += '1'; }); queue.Enqueue([&] { - queue.EnqueueAfterDelay(AsyncQueue::Milliseconds(5), kTimerId1, [&] { + queue.EnqueueAfterDelay(AsyncQueue::Milliseconds(20), kTimerId1, [&] { steps += '4'; signal_finished(); }); - queue.EnqueueAfterDelay(AsyncQueue::Milliseconds(1), kTimerId2, + queue.EnqueueAfterDelay(AsyncQueue::Milliseconds(10), kTimerId2, [&steps] { steps += '3'; }); queue.EnqueueRelaxed([&steps] { steps += '2'; }); }); |