1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-08-08 09:42:06 +03:00

Fix Quic Ping testcases

Summary:
as title

(Note: this ignores all push blocking failures!)

Reviewed By: mjoras

Differential Revision: D21303116

fbshipit-source-id: 5e76e02a618a5f79867adae0a78e0174630ce039
This commit is contained in:
Yang Chi
2020-04-29 08:59:22 -07:00
committed by Facebook GitHub Bot
parent 18ce06e38d
commit 64efb370af

View File

@@ -122,6 +122,12 @@ MinStreamDataFrame decodeMinStreamDataFrame(folly::io::Cursor& cursor) {
return frame; return frame;
} }
class TestPingCallback : public QuicSocket::PingCallback {
public:
void pingAcknowledged() noexcept override {}
void pingTimeout() noexcept override {}
};
class TestQuicTransport class TestQuicTransport
: public QuicTransportBase, : public QuicTransportBase,
public std::enable_shared_from_this<TestQuicTransport> { public std::enable_shared_from_this<TestQuicTransport> {
@@ -2569,11 +2575,13 @@ TEST_F(QuicTransportImplTest, CloseFromCancelDeliveryCallbacksForStream) {
TEST_F(QuicTransportImplTest, SuccessfulPing) { TEST_F(QuicTransportImplTest, SuccessfulPing) {
auto conn = transport->transportConn; auto conn = transport->transportConn;
std::chrono::milliseconds interval(10); std::chrono::milliseconds interval(10);
transport->invokeSendPing(nullptr, interval); TestPingCallback pingCallback;
transport->invokeSendPing(&pingCallback, interval);
EXPECT_EQ(transport->isPingTimeoutScheduled(), true); EXPECT_EQ(transport->isPingTimeoutScheduled(), true);
EXPECT_EQ(conn->pendingEvents.cancelPingTimeout, false); EXPECT_EQ(conn->pendingEvents.cancelPingTimeout, false);
conn->pendingEvents.cancelPingTimeout = true; conn->pendingEvents.cancelPingTimeout = true;
transport->invokeHandlePingCallback(); transport->invokeHandlePingCallback();
evb->loopOnce();
EXPECT_EQ(transport->isPingTimeoutScheduled(), false); EXPECT_EQ(transport->isPingTimeoutScheduled(), false);
EXPECT_EQ(conn->pendingEvents.cancelPingTimeout, false); EXPECT_EQ(conn->pendingEvents.cancelPingTimeout, false);
} }
@@ -2581,7 +2589,8 @@ TEST_F(QuicTransportImplTest, SuccessfulPing) {
TEST_F(QuicTransportImplTest, FailedPing) { TEST_F(QuicTransportImplTest, FailedPing) {
auto conn = transport->transportConn; auto conn = transport->transportConn;
std::chrono::milliseconds interval(10); std::chrono::milliseconds interval(10);
transport->invokeSendPing(nullptr, interval); TestPingCallback pingCallback;
transport->invokeSendPing(&pingCallback, interval);
EXPECT_EQ(transport->isPingTimeoutScheduled(), true); EXPECT_EQ(transport->isPingTimeoutScheduled(), true);
EXPECT_EQ(conn->pendingEvents.cancelPingTimeout, false); EXPECT_EQ(conn->pendingEvents.cancelPingTimeout, false);
conn->pendingEvents.cancelPingTimeout = true; conn->pendingEvents.cancelPingTimeout = true;