File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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
You can’t perform that action at this time.
0 commit comments