mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-08-08 09:42:06 +03:00
Revert D17636918: [quic] Create findFrameInPacketFunc helper function for unit tests
Differential Revision: D17636918 Original commit changeset: 927b3a880ee0 fbshipit-source-id: dcc2b618c2a7accde254d01b5d549a08041dd589
This commit is contained in:
committed by
Facebook Github Bot
parent
ed617e7ae2
commit
3ca024e3b8
@@ -1026,7 +1026,22 @@ TEST_F(QuicTransportTest, ClonePathChallenge) {
|
|||||||
auto numPathChallengePackets = std::count_if(
|
auto numPathChallengePackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<PathChallengeFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](PathChallengeFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numPathChallengePackets, 1);
|
EXPECT_EQ(numPathChallengePackets, 1);
|
||||||
|
|
||||||
// Force a timeout with no data so that it clones the packet
|
// Force a timeout with no data so that it clones the packet
|
||||||
@@ -1036,8 +1051,22 @@ TEST_F(QuicTransportTest, ClonePathChallenge) {
|
|||||||
numPathChallengePackets = std::count_if(
|
numPathChallengePackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<PathChallengeFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](PathChallengeFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numPathChallengePackets, 3);
|
EXPECT_EQ(numPathChallengePackets, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1059,7 +1088,22 @@ TEST_F(QuicTransportTest, OnlyClonePathValidationIfOutstanding) {
|
|||||||
auto numPathChallengePackets = std::count_if(
|
auto numPathChallengePackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<PathChallengeFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](PathChallengeFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numPathChallengePackets, 1);
|
EXPECT_EQ(numPathChallengePackets, 1);
|
||||||
|
|
||||||
// Reset outstandingPathValidation
|
// Reset outstandingPathValidation
|
||||||
@@ -1072,7 +1116,22 @@ TEST_F(QuicTransportTest, OnlyClonePathValidationIfOutstanding) {
|
|||||||
numPathChallengePackets = std::count_if(
|
numPathChallengePackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<PathChallengeFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](PathChallengeFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numPathChallengePackets, 1);
|
EXPECT_EQ(numPathChallengePackets, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1197,7 +1256,22 @@ TEST_F(QuicTransportTest, ClonePathResponse) {
|
|||||||
auto numPathResponsePackets = std::count_if(
|
auto numPathResponsePackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<PathResponseFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](PathResponseFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numPathResponsePackets, 1);
|
EXPECT_EQ(numPathResponsePackets, 1);
|
||||||
|
|
||||||
// Force a timeout with no data so that it clones the packet
|
// Force a timeout with no data so that it clones the packet
|
||||||
@@ -1205,7 +1279,22 @@ TEST_F(QuicTransportTest, ClonePathResponse) {
|
|||||||
numPathResponsePackets = std::count_if(
|
numPathResponsePackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<PathResponseFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](PathResponseFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numPathResponsePackets, 1);
|
EXPECT_EQ(numPathResponsePackets, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1276,7 +1365,22 @@ TEST_F(QuicTransportTest, CloneNewConnectionIdFrame) {
|
|||||||
auto numNewConnIdPackets = std::count_if(
|
auto numNewConnIdPackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<NewConnectionIdFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](NewConnectionIdFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numNewConnIdPackets, 1);
|
EXPECT_EQ(numNewConnIdPackets, 1);
|
||||||
|
|
||||||
// Force a timeout with no data so that it clones the packet
|
// Force a timeout with no data so that it clones the packet
|
||||||
@@ -1286,7 +1390,22 @@ TEST_F(QuicTransportTest, CloneNewConnectionIdFrame) {
|
|||||||
numNewConnIdPackets = std::count_if(
|
numNewConnIdPackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<NewConnectionIdFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](NewConnectionIdFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numNewConnIdPackets, 3);
|
EXPECT_EQ(numNewConnIdPackets, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1410,7 +1529,22 @@ TEST_F(QuicTransportTest, CloneRetireConnectionIdFrame) {
|
|||||||
auto numRetireConnIdPackets = std::count_if(
|
auto numRetireConnIdPackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<RetireConnectionIdFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](RetireConnectionIdFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numRetireConnIdPackets, 1);
|
EXPECT_EQ(numRetireConnIdPackets, 1);
|
||||||
|
|
||||||
// Force a timeout with no data so that it clones the packet
|
// Force a timeout with no data so that it clones the packet
|
||||||
@@ -1420,7 +1554,22 @@ TEST_F(QuicTransportTest, CloneRetireConnectionIdFrame) {
|
|||||||
numRetireConnIdPackets = std::count_if(
|
numRetireConnIdPackets = std::count_if(
|
||||||
conn.outstandingPackets.begin(),
|
conn.outstandingPackets.begin(),
|
||||||
conn.outstandingPackets.end(),
|
conn.outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<RetireConnectionIdFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](RetireConnectionIdFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_EQ(numRetireConnIdPackets, 3);
|
EXPECT_EQ(numRetireConnIdPackets, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -275,23 +275,5 @@ std::vector<int> getQLogEventIndices(
|
|||||||
QLogEventType type,
|
QLogEventType type,
|
||||||
const std::shared_ptr<FileQLogger>& q);
|
const std::shared_ptr<FileQLogger>& q);
|
||||||
|
|
||||||
template <typename FrameType>
|
|
||||||
auto findFrameInPacketFunc() {
|
|
||||||
return [&](auto& p) {
|
|
||||||
return std::find_if(
|
|
||||||
p.packet.frames.begin(), p.packet.frames.end(), [&](auto& f) {
|
|
||||||
return folly::variant_match(
|
|
||||||
f,
|
|
||||||
[&](QuicSimpleFrame& s) {
|
|
||||||
return folly::variant_match(
|
|
||||||
s,
|
|
||||||
[&](FrameType&) { return true; },
|
|
||||||
[&](auto&) { return false; });
|
|
||||||
},
|
|
||||||
[&](auto&) { return false; });
|
|
||||||
}) != p.packet.frames.end();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace test
|
} // namespace test
|
||||||
} // namespace quic
|
} // namespace quic
|
||||||
|
@@ -1585,8 +1585,22 @@ TEST_F(QuicServerTransportTest, TestCloneStopSending) {
|
|||||||
auto packetItr = std::find_if(
|
auto packetItr = std::find_if(
|
||||||
server->getNonConstConn().outstandingPackets.begin(),
|
server->getNonConstConn().outstandingPackets.begin(),
|
||||||
server->getNonConstConn().outstandingPackets.end(),
|
server->getNonConstConn().outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<StopSendingFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](StopSendingFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
ASSERT_TRUE(packetItr != server->getNonConstConn().outstandingPackets.end());
|
ASSERT_TRUE(packetItr != server->getNonConstConn().outstandingPackets.end());
|
||||||
// Force a timeout with no data so that it clones the packet
|
// Force a timeout with no data so that it clones the packet
|
||||||
server->lossTimeout().timeoutExpired();
|
server->lossTimeout().timeoutExpired();
|
||||||
@@ -1594,8 +1608,22 @@ TEST_F(QuicServerTransportTest, TestCloneStopSending) {
|
|||||||
auto numStopSendingPackets = std::count_if(
|
auto numStopSendingPackets = std::count_if(
|
||||||
server->getNonConstConn().outstandingPackets.begin(),
|
server->getNonConstConn().outstandingPackets.begin(),
|
||||||
server->getNonConstConn().outstandingPackets.end(),
|
server->getNonConstConn().outstandingPackets.end(),
|
||||||
findFrameInPacketFunc<StopSendingFrame>());
|
[&](auto& p) {
|
||||||
|
return std::find_if(
|
||||||
|
p.packet.frames.begin(),
|
||||||
|
p.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](StopSendingFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != p.packet.frames.end();
|
||||||
|
});
|
||||||
EXPECT_GT(numStopSendingPackets, 1);
|
EXPECT_GT(numStopSendingPackets, 1);
|
||||||
|
|
||||||
std::vector<int> indices =
|
std::vector<int> indices =
|
||||||
@@ -1611,8 +1639,22 @@ TEST_F(QuicServerTransportTest, TestAckStopSending) {
|
|||||||
server->getNonConstConn().streamManager->getStream(streamId);
|
server->getNonConstConn().streamManager->getStream(streamId);
|
||||||
server->stopSending(streamId, GenericApplicationErrorCode::UNKNOWN);
|
server->stopSending(streamId, GenericApplicationErrorCode::UNKNOWN);
|
||||||
loopForWrites();
|
loopForWrites();
|
||||||
auto match = findFrameInPacketFunc<StopSendingFrame>();
|
auto match = [](OutstandingPacket& packet) {
|
||||||
|
return std::find_if(
|
||||||
|
packet.packet.frames.begin(),
|
||||||
|
packet.packet.frames.end(),
|
||||||
|
[&](auto& f) {
|
||||||
|
return folly::variant_match(
|
||||||
|
f,
|
||||||
|
[&](QuicSimpleFrame& s) {
|
||||||
|
return folly::variant_match(
|
||||||
|
s,
|
||||||
|
[&](StopSendingFrame&) { return true; },
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
},
|
||||||
|
[&](auto&) { return false; });
|
||||||
|
}) != packet.packet.frames.end();
|
||||||
|
};
|
||||||
auto op = findOutstandingPacket(server->getNonConstConn(), match);
|
auto op = findOutstandingPacket(server->getNonConstConn(), match);
|
||||||
ASSERT_TRUE(op != nullptr);
|
ASSERT_TRUE(op != nullptr);
|
||||||
PacketNum packetNum = op->packet.header.getPacketSequenceNum();
|
PacketNum packetNum = op->packet.header.getPacketSequenceNum();
|
||||||
|
Reference in New Issue
Block a user