Fix //third_party/quic/core:quic_dispatcher_test with Q046. PiperOrigin-RevId: 658511096
diff --git a/quiche/quic/core/quic_dispatcher_test.cc b/quiche/quic/core/quic_dispatcher_test.cc index 3d081ea..6478779 100644 --- a/quiche/quic/core/quic_dispatcher_test.cc +++ b/quiche/quic/core/quic_dispatcher_test.cc
@@ -2855,7 +2855,6 @@ QuicBufferedPacketStore* store = QuicDispatcherPeer::GetBufferedPackets(dispatcher_.get()); const size_t kNumCHLOs = kMaxNumSessionsToCreate + 1; - MockConnectionIdGenerator generator2; for (uint64_t conn_id = 1; conn_id < kNumCHLOs; ++conn_id) { EXPECT_CALL( *dispatcher_, @@ -2877,9 +2876,12 @@ } uint64_t conn_id = kNumCHLOs; expect_generator_is_called_ = false; + MockConnectionIdGenerator generator2; EXPECT_CALL(*dispatcher_, ConnectionIdGenerator()) .WillRepeatedly(ReturnRef(generator2)); - if (store->replace_cid_on_first_packet()) { + const bool buffered_store_replace_cid = + store->replace_cid_on_first_packet() && version_.UsesTls(); + if (buffered_store_replace_cid) { // generator2 should be used to replace the connection ID when the first // IETF INITIAL is enqueued. EXPECT_CALL(generator2, @@ -2893,10 +2895,14 @@ EXPECT_CALL(*dispatcher_, ConnectionIdGenerator()) .WillRepeatedly(ReturnRef(connection_id_generator_)); - if (!store->replace_cid_on_first_packet()) { - // Consume the buffered CHLO. The buffered connection should be - // created using generator2. - EXPECT_CALL(generator2, + if (!buffered_store_replace_cid) { + // QuicDispatcher should attempt to replace the CID when creating the + // QuicSession. If flag is false, it should use the latched |generator2|, + // otherwise it should use |connection_id_generator_|. + MockConnectionIdGenerator& generator = store->replace_cid_on_first_packet() + ? connection_id_generator_ + : generator2; + EXPECT_CALL(generator, MaybeReplaceConnectionId(TestConnectionId(conn_id), version_)) .WillOnce(Return(std::nullopt)); } @@ -3076,7 +3082,7 @@ ValidatePacket(TestConnectionId(conn_id), packet); } }))); - } else if (!store->replace_cid_on_first_packet()) { + } else if (!(store->replace_cid_on_first_packet() && version_.UsesTls())) { expect_generator_is_called_ = false; } ProcessFirstFlight(TestConnectionId(conn_id));