Skip to content

Commit bbc0644

Browse files
committed
fix
1 parent cb02ae4 commit bbc0644

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

tests/ReaderTest.cc

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <time.h>
2323

2424
#include <atomic>
25+
#include <chrono>
2526
#include <functional>
2627
#include <future>
2728
#include <set>
@@ -863,7 +864,13 @@ TEST_P(ReaderSeekTest, testHasMessageAvailableAfterSeekToEnd) {
863864
}
864865

865866
ASSERT_EQ(ResultOk, reader.seek(MessageId::latest()));
866-
ASSERT_EQ(ResultOk, reader.hasMessageAvailable(hasMessageAvailable));
867+
// After seek-to-end the broker may close the consumer and trigger reconnect; allow a short
868+
// delay for hasMessageAvailable to become false (avoids flakiness when reconnect completes).
869+
for (int i = 0; i < 50; i++) {
870+
ASSERT_EQ(ResultOk, reader.hasMessageAvailable(hasMessageAvailable));
871+
if (!hasMessageAvailable) break;
872+
std::this_thread::sleep_for(std::chrono::milliseconds(100));
873+
}
867874
ASSERT_FALSE(hasMessageAvailable);
868875

869876
producer.send(MessageBuilder().setContent("msg-2").build());
@@ -876,7 +883,11 @@ TEST_P(ReaderSeekTest, testHasMessageAvailableAfterSeekToEnd) {
876883

877884
// Test the 2nd seek
878885
ASSERT_EQ(ResultOk, reader.seek(MessageId::latest()));
879-
ASSERT_EQ(ResultOk, reader.hasMessageAvailable(hasMessageAvailable));
886+
for (int i = 0; i < 50; i++) {
887+
ASSERT_EQ(ResultOk, reader.hasMessageAvailable(hasMessageAvailable));
888+
if (!hasMessageAvailable) break;
889+
std::this_thread::sleep_for(std::chrono::milliseconds(100));
890+
}
880891
ASSERT_FALSE(hasMessageAvailable);
881892
}
882893

0 commit comments

Comments
 (0)