From fa5d67230cafa480eadc0d7a6e71d7dbb62ebd63 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 9 Oct 2024 00:26:04 +0000 Subject: [PATCH] [logging_test] Fix timeout --- test/cpp/ext/filters/logging/library.h | 10 ++++++++-- test/cpp/ext/filters/logging/logging_test.cc | 10 +++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/test/cpp/ext/filters/logging/library.h b/test/cpp/ext/filters/logging/library.h index bffa8a18fe7..fcb918660c1 100644 --- a/test/cpp/ext/filters/logging/library.h +++ b/test/cpp/ext/filters/logging/library.h @@ -83,12 +83,18 @@ class TestLoggingSink : public grpc_core::LoggingSink { } // Waits for \a duration till we have \a num_entries in the log. - void WaitForNumEntries(size_t num_entries, absl::Duration duration) { + bool WaitForNumEntries(size_t num_entries, absl::Duration duration) { absl::Time deadline = absl::Now() + duration * grpc_test_slowdown_factor(); grpc_core::MutexLock lock(&mu_); while (entries_.size() != num_entries) { - cv_.WaitWithDeadline(&mu_, deadline); + if (cv_.WaitWithDeadline(&mu_, deadline)) { + LOG(ERROR) << "\nDeadline expired while waiting on logging " + "entries\nExpected number: " + << num_entries << "\nActual number: " << entries_.size(); + return false; + } } + return true; } private: diff --git a/test/cpp/ext/filters/logging/logging_test.cc b/test/cpp/ext/filters/logging/logging_test.cc index e94c5c5889e..e1ffd6941ac 100644 --- a/test/cpp/ext/filters/logging/logging_test.cc +++ b/test/cpp/ext/filters/logging/logging_test.cc @@ -62,7 +62,7 @@ TEST_F(LoggingTest, SimpleRpc) { context.AddMetadata("key", "value"); grpc::Status status = stub_->Echo(&context, request, &response); EXPECT_TRUE(status.ok()); - g_test_logging_sink->WaitForNumEntries(12, absl::Seconds(5)); + ASSERT_TRUE(g_test_logging_sink->WaitForNumEntries(12, absl::Seconds(5))); EXPECT_THAT( g_test_logging_sink->entries(), ::testing::UnorderedElementsAre( @@ -246,7 +246,7 @@ TEST_F(LoggingTest, SimpleRpcNoMetadata) { grpc::ClientContext context; grpc::Status status = stub_->Echo(&context, request, &response); EXPECT_TRUE(status.ok()); - g_test_logging_sink->WaitForNumEntries(12, absl::Seconds(5)); + ASSERT_TRUE(g_test_logging_sink->WaitForNumEntries(12, absl::Seconds(5))); EXPECT_THAT( g_test_logging_sink->entries(), ::testing::UnorderedElementsAre( @@ -447,7 +447,7 @@ TEST_F(LoggingTest, MetadataTruncated) { context.AddMetadata("key-2", "value-2"); grpc::Status status = stub_->Echo(&context, request, &response); EXPECT_TRUE(status.ok()); - g_test_logging_sink->WaitForNumEntries(12, absl::Seconds(5)); + ASSERT_TRUE(g_test_logging_sink->WaitForNumEntries(12, absl::Seconds(5))); EXPECT_THAT( g_test_logging_sink->entries(), ::testing::UnorderedElementsAre( @@ -630,7 +630,7 @@ TEST_F(LoggingTest, PayloadTruncated) { grpc::ClientContext context; grpc::Status status = stub_->Echo(&context, request, &response); EXPECT_TRUE(status.ok()); - g_test_logging_sink->WaitForNumEntries(12, absl::Seconds(5)); + ASSERT_TRUE(g_test_logging_sink->WaitForNumEntries(12, absl::Seconds(5))); EXPECT_THAT( g_test_logging_sink->entries(), ::testing::UnorderedElementsAre( @@ -861,7 +861,7 @@ TEST_F(LoggingTest, ServerCancelsRpc) { EXPECT_EQ(status.error_code(), 25); EXPECT_EQ(status.error_message(), "error message"); EXPECT_EQ(status.error_details(), "binary error details"); - g_test_logging_sink->WaitForNumEntries(9, absl::Seconds(5)); + ASSERT_TRUE(g_test_logging_sink->WaitForNumEntries(9, absl::Seconds(5))); EXPECT_THAT( g_test_logging_sink->entries(), ::testing::UnorderedElementsAre(