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,