gfe-relnote: (n/a) In QUIC BBR(v1 and v2) tests, construct the simulator with the test random generator. Test only.

PiperOrigin-RevId: 286014228
Change-Id: I44f098781971054fe456b975b1ac2b380ab4b106
diff --git a/quic/core/congestion_control/bbr2_simulator_test.cc b/quic/core/congestion_control/bbr2_simulator_test.cc
index 19d68b2..9c34c0b 100644
--- a/quic/core/congestion_control/bbr2_simulator_test.cc
+++ b/quic/core/congestion_control/bbr2_simulator_test.cc
@@ -118,7 +118,7 @@
 
 class Bbr2SimulatorTest : public QuicTest {
  protected:
-  Bbr2SimulatorTest() {
+  Bbr2SimulatorTest() : simulator_(&random_) {
     // Disable Ack Decimation by default, because it can significantly increase
     // srtt. Individual test can enable it via QuicConnectionPeer::SetAckMode().
     SetQuicReloadableFlag(quic_enable_ack_decimation, false);
@@ -151,9 +151,9 @@
 
   QuicTime SimulatedNow() const { return simulator_.GetClock()->Now(); }
 
-  simulator::Simulator simulator_;
   uint64_t random_seed_;
   SimpleRandom random_;
+  simulator::Simulator simulator_;
 };
 
 class Bbr2DefaultTopologyTest : public Bbr2SimulatorTest {
@@ -170,8 +170,6 @@
                            Perspective::IS_SERVER,
                            TestConnectionId(42)) {
     sender_ = SetupBbr2Sender(&sender_endpoint_);
-
-    simulator_.set_random_generator(&random_);
   }
 
   ~Bbr2DefaultTopologyTest() {
@@ -819,8 +817,6 @@
         std::make_unique<simulator::QuicEndpointMultiplexer>(
             "Receiver multiplexer", receiver_endpoint_pointers);
     sender_1_ = SetupBbr2Sender(sender_endpoints_[0].get());
-
-    simulator_.set_random_generator(&random_);
   }
 
   ~Bbr2MultiSenderTest() {
diff --git a/quic/core/congestion_control/bbr_sender_test.cc b/quic/core/congestion_control/bbr_sender_test.cc
index 1f45089..d34d15b 100644
--- a/quic/core/congestion_control/bbr_sender_test.cc
+++ b/quic/core/congestion_control/bbr_sender_test.cc
@@ -83,7 +83,7 @@
 class BbrSenderTest : public QuicTest {
  protected:
   BbrSenderTest()
-      : simulator_(),
+      : simulator_(&random_),
         bbr_sender_(&simulator_,
                     "BBR sender",
                     "Receiver",
@@ -110,7 +110,6 @@
     sender_ = SetupBbrSender(&bbr_sender_);
 
     clock_ = simulator_.GetClock();
-    simulator_.set_random_generator(&random_);
   }
 
   void SetUp() override {
@@ -137,6 +136,8 @@
     }
   }
 
+  uint64_t random_seed_;
+  SimpleRandom random_;
   simulator::Simulator simulator_;
   simulator::QuicEndpoint bbr_sender_;
   simulator::QuicEndpoint competing_sender_;
@@ -148,9 +149,6 @@
   std::unique_ptr<simulator::SymmetricLink> competing_sender_link_;
   std::unique_ptr<simulator::SymmetricLink> receiver_link_;
 
-  uint64_t random_seed_;
-  SimpleRandom random_;
-
   // Owned by different components of the connection.
   const QuicClock* clock_;
   const RttStats* rtt_stats_;
diff --git a/quic/test_tools/simulator/simulator.cc b/quic/test_tools/simulator/simulator.cc
index fdb59db..61ae9a3 100644
--- a/quic/test_tools/simulator/simulator.cc
+++ b/quic/test_tools/simulator/simulator.cc
@@ -10,8 +10,10 @@
 namespace quic {
 namespace simulator {
 
-Simulator::Simulator()
-    : random_generator_(nullptr),
+Simulator::Simulator() : Simulator(nullptr) {}
+
+Simulator::Simulator(QuicRandom* random_generator)
+    : random_generator_(random_generator),
       alarm_factory_(this, "Default Alarm Manager"),
       run_for_should_stop_(false),
       enable_random_delays_(false) {
diff --git a/quic/test_tools/simulator/simulator.h b/quic/test_tools/simulator/simulator.h
index e21dd50..46f8077 100644
--- a/quic/test_tools/simulator/simulator.h
+++ b/quic/test_tools/simulator/simulator.h
@@ -22,6 +22,7 @@
 class Simulator : public QuicConnectionHelperInterface {
  public:
   Simulator();
+  explicit Simulator(QuicRandom* random_generator);
   Simulator(const Simulator&) = delete;
   Simulator& operator=(const Simulator&) = delete;
   ~Simulator() override;