Skip to content

Commit 50a9eca

Browse files
committed
test(pubsub): annotate deferred-RunAsync drains (mirror #4327)
Use the same own-line `// RunAsync` marker convention as the bigtable MutationBatcher deadlock fix (#4327) so the deferred-continuation drains are immediately recognizable as the same idiom.
1 parent 14724cc commit 50a9eca

1 file changed

Lines changed: 20 additions & 16 deletions

File tree

google/cloud/pubsub/internal/subscription_lease_management_test.cc

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -109,19 +109,21 @@ TEST(SubscriptionLeaseManagementTest, NormalLifecycle) {
109109
// will verify that only the remaining messages have their lease extended.
110110
uut->AckMessage("ack-0-1");
111111
fake_cq->SimulateCompletion(true);
112-
fake_cq->SimulateCompletion(true); // drain the deferred OnRefreshTimer
112+
// RunAsync, drain the deferred OnRefreshTimer
113+
fake_cq->SimulateCompletion(true);
113114
ASSERT_EQ(1U, fake_cq->size());
114115

115116
// Ack one more message and trigger the new timer.
116117
uut->NackMessage("ack-0-2");
117118
fake_cq->SimulateCompletion(true);
118-
fake_cq->SimulateCompletion(true); // drain the deferred OnRefreshTimer
119+
// RunAsync, drain the deferred OnRefreshTimer
120+
fake_cq->SimulateCompletion(true);
119121
ASSERT_EQ(1U, fake_cq->size());
120122

121123
shutdown_manager->MarkAsShutdown(__func__, Status{});
122124
uut->Shutdown();
123125

124-
for (int i = 0; i != 16 && fake_cq->size() != 0; ++i) {
126+
for (int i = 0; i != 16 && !fake_cq->empty(); ++i) {
125127
fake_cq->SimulateCompletion(true);
126128
}
127129
EXPECT_THAT(done.get(), IsOk());
@@ -157,7 +159,7 @@ TEST(SubscriptionLeaseManagementTest, ShutdownOnError) {
157159
Status(StatusCode::kPermissionDenied, "uh-oh"))});
158160
ASSERT_EQ(1U, fake_cq->size());
159161

160-
for (int i = 0; i != 16 && fake_cq->size() != 0; ++i) {
162+
for (int i = 0; i != 16 && !fake_cq->empty(); ++i) {
161163
fake_cq->SimulateCompletion(true);
162164
}
163165
EXPECT_THAT(done.get(), StatusIs(StatusCode::kPermissionDenied));
@@ -223,12 +225,13 @@ TEST(SubscriptionLeaseManagementTest, UsesDeadlineExtension) {
223225

224226
// Ignore message and then fire the timer. This will extend the deadline.
225227
fake_cq->SimulateCompletion(true);
226-
fake_cq->SimulateCompletion(true); // drain the deferred OnRefreshTimer
228+
// RunAsync, drain the deferred OnRefreshTimer
229+
fake_cq->SimulateCompletion(true);
227230
ASSERT_EQ(1U, fake_cq->size());
228231

229232
shutdown_manager->MarkAsShutdown(__func__, Status{});
230233
uut->Shutdown();
231-
for (int i = 0; i != 16 && fake_cq->size() != 0; ++i) {
234+
for (int i = 0; i != 16 && !fake_cq->empty(); ++i) {
232235
fake_cq->SimulateCompletion(true);
233236
}
234237
EXPECT_THAT(done.get(), IsOk());
@@ -276,13 +279,14 @@ TEST(SubscriptionLeaseManagementTest, ExpiredMessage) {
276279
// will verify that only the remaining messages have their lease extended.
277280
uut->AckMessage("ack-0-1");
278281
fake_cq->SimulateCompletion(true);
279-
fake_cq->SimulateCompletion(true); // drain the deferred OnRefreshTimer
282+
// RunAsync, drain the deferred OnRefreshTimer
283+
fake_cq->SimulateCompletion(true);
280284
ASSERT_EQ(1U, fake_cq->size());
281285

282286
shutdown_manager->MarkAsShutdown(__func__, Status{});
283287
uut->Shutdown();
284288

285-
for (int i = 0; i != 16 && fake_cq->size() != 0; ++i) {
289+
for (int i = 0; i != 16 && !fake_cq->empty(); ++i) {
286290
fake_cq->SimulateCompletion(true);
287291
}
288292
EXPECT_THAT(done.get(), IsOk());
@@ -308,15 +312,15 @@ TEST(SubscriptionLeaseManagementTest,
308312

309313
int extend_calls = 0;
310314
EXPECT_CALL(*mock, ExtendLeases)
311-
.WillRepeatedly([&](std::vector<std::string> const&,
312-
std::chrono::seconds) {
313-
++extend_calls;
315+
.WillRepeatedly(
316+
[&](std::vector<std::string> const&, std::chrono::seconds) {
317+
++extend_calls;
318+
return make_ready_future(Status{});
319+
});
320+
EXPECT_CALL(*mock, BulkNack)
321+
.WillRepeatedly([](std::vector<std::string> const&) {
314322
return make_ready_future(Status{});
315323
});
316-
EXPECT_CALL(*mock, BulkNack).WillRepeatedly([](std::vector<std::string>
317-
const&) {
318-
return make_ready_future(Status{});
319-
});
320324
EXPECT_CALL(*mock, Shutdown).Times(1);
321325

322326
auto fake_cq = std::make_shared<FakeCompletionQueueImpl>();
@@ -350,7 +354,7 @@ TEST(SubscriptionLeaseManagementTest,
350354
// deferred refresh operation finishes and the session shutdown completes.
351355
shutdown_manager->MarkAsShutdown(__func__, Status{});
352356
uut->Shutdown();
353-
for (int i = 0; i != 16 && fake_cq->size() != 0; ++i) {
357+
for (int i = 0; i != 16 && !fake_cq->empty(); ++i) {
354358
fake_cq->SimulateCompletion(true);
355359
}
356360
EXPECT_THAT(done.get(), IsOk());

0 commit comments

Comments
 (0)