Call the existing setup callback in moqt::test::RunHandshakeOrDie(). PiperOrigin-RevId: 742341931
diff --git a/quiche/quic/moqt/test_tools/moqt_simulator_harness.cc b/quiche/quic/moqt/test_tools/moqt_simulator_harness.cc index 3bf5e85..d954f18 100644 --- a/quiche/quic/moqt/test_tools/moqt_simulator_harness.cc +++ b/quiche/quic/moqt/test_tools/moqt_simulator_harness.cc
@@ -7,6 +7,7 @@ #include <memory> #include <optional> #include <string> +#include <utility> #include "absl/strings/string_view.h" #include "quiche/quic/core/crypto/quic_compressed_certs_cache.h" @@ -94,6 +95,10 @@ quic::QuicTimeDelta::FromSeconds(3); bool client_established = false; bool server_established = false; + MoqtSessionEstablishedCallback old_client_callback = + std::move(client.session()->callbacks().session_established_callback); + MoqtSessionEstablishedCallback old_server_callback = + std::move(server.session()->callbacks().session_established_callback); // Retaining pointers to local variables is safe here, since if the handshake // succeeds, both callbacks are executed and deleted, and if either fails, the @@ -109,6 +114,8 @@ timeout.value_or(kDefaultTimeout)); QUICHE_CHECK(client_established) << "Client failed to establish session"; QUICHE_CHECK(server_established) << "Server failed to establish session"; + std::move(old_client_callback)(); + std::move(old_server_callback)(); } } // namespace moqt::test
diff --git a/quiche/quic/moqt/test_tools/moqt_simulator_harness.h b/quiche/quic/moqt/test_tools/moqt_simulator_harness.h index a75498f..3293eb6 100644 --- a/quiche/quic/moqt/test_tools/moqt_simulator_harness.h +++ b/quiche/quic/moqt/test_tools/moqt_simulator_harness.h
@@ -53,8 +53,8 @@ MoqtSession session_; }; -// Runs the handshake for MoQT, crashes if the handshake fails. Overrides -// the pre-existing session_initalized_callback of both sessions. +// Runs the handshake for MoQT, crashes if the handshake fails. Calls +// the pre-existing session_initialized_callback for both sessions. void RunHandshakeOrDie( quic::simulator::Simulator& simulator, MoqtClientEndpoint& client, MoqtServerEndpoint& server,