1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-12 08:41:01 +03:00

Workaround lack of const noexept support in public GMock for Quic ConnIdAlgo

Summary: 9 years and counting since c++11 is a thing.

Reviewed By: mjoras

Differential Revision: D20068892

fbshipit-source-id: e9d486d588481232de9dac5eb8e4f0b8dbf38bb6
This commit is contained in:
Yang Chi
2020-02-24 15:13:27 -08:00
committed by Facebook Github Bot
parent 9164827b6f
commit 76de6e15c0
2 changed files with 8 additions and 4 deletions

View File

@@ -23,9 +23,9 @@ std::ostream& operator<<(std::ostream& out, const QuicWriteFrame& /*rhs*/) {
namespace quic {
namespace test {
class MockConnectoinIdAlgo : public ConnectionIdAlgo {
class MockConnectionIdAlgo : public ConnectionIdAlgo {
public:
GMOCK_METHOD1_(, const noexcept, , canParse, bool(const ConnectionId& id));
GMOCK_METHOD1_(, noexcept, , canParseNonConst, bool(const ConnectionId& id));
GMOCK_METHOD1_(
,
noexcept,
@@ -40,6 +40,10 @@ class MockConnectoinIdAlgo : public ConnectionIdAlgo {
encodeConnectionId,
folly::Expected<ConnectionId, QuicInternalException>(
const ServerConnectionIdParams&));
bool canParse(const ConnectionId& id) const noexcept override {
return const_cast<MockConnectionIdAlgo&>(*this).canParseNonConst(id);
}
};
class MockQuicPacketBuilder : public PacketBuilderInterface {

View File

@@ -633,7 +633,7 @@ TEST_F(QuicServerWorkerTest, FailToParseConnectionId) {
auto data = createData(kDefaultUDPSendPacketLen);
auto srcConnId = getTestConnectionId(0);
auto dstConnId = getTestConnectionId(1);
auto mockConnIdAlgo = std::make_unique<MockConnectoinIdAlgo>();
auto mockConnIdAlgo = std::make_unique<MockConnectionIdAlgo>();
auto rawConnIdAlgo = mockConnIdAlgo.get();
worker_->setConnectionIdAlgo(std::move(mockConnIdAlgo));
@@ -656,7 +656,7 @@ TEST_F(QuicServerWorkerTest, FailToParseConnectionId) {
srcConnId);
NetworkData networkData(std::move(packet), Clock::now());
EXPECT_CALL(*rawConnIdAlgo, canParse(_)).WillOnce(Return(true));
EXPECT_CALL(*rawConnIdAlgo, canParseNonConst(_)).WillOnce(Return(true));
EXPECT_CALL(*rawConnIdAlgo, parseConnectionId(dstConnId))
.WillOnce(Return(folly::makeUnexpected(QuicInternalException(
"This CID has COVID-19", LocalErrorCode::INTERNAL_ERROR))));