Use Clock from socket_unittest
These tests use the global clock so no need for clock injection, pending
future changes to the socket implementation.
Bug: webrtc:42223992
Change-Id: I67d4294f357b7c8557e2ee00fa38f247ad546a8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/407443
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45536}
diff --git a/rtc_base/socket_unittest.cc b/rtc_base/socket_unittest.cc
index 90dd4855..8718ff7 100644
--- a/rtc_base/socket_unittest.cc
+++ b/rtc_base/socket_unittest.cc
@@ -36,7 +36,6 @@
 #include "rtc_base/test_utils.h"
 #include "rtc_base/third_party/sigslot/sigslot.h"
 #include "rtc_base/thread.h"
-#include "rtc_base/time_utils.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
 #include "test/wait_until.h"
@@ -424,8 +423,8 @@
   EXPECT_EQ(0, client->Connect(bogus_dns_addr));
 
   // Wait for connection to fail (EHOSTNOTFOUND).
-  bool dns_lookup_finished = false;
-  WAIT_(client->GetState() == Socket::CS_CLOSED, 5000, dns_lookup_finished);
+  bool dns_lookup_finished =
+      WaitUntil([&] { return client->GetState() == Socket::CS_CLOSED; });
   if (!dns_lookup_finished) {
     RTC_LOG(LS_WARNING) << "Skipping test; DNS resolution took longer than 5 "
                            "seconds.";
@@ -1096,10 +1095,10 @@
   client->SetOption(Socket::OPT_SNDBUF, send_buffer_size);
 
   int error = 0;
-  uint32_t start_ms = Time();
+  uint32_t start_ms = clock_.TimeInMilliseconds();
   int sent_packet_num = 0;
   int expected_error = EWOULDBLOCK;
-  while (start_ms + 5000 > Time()) {
+  while (start_ms + 5000 > clock_.TimeInMilliseconds()) {
     int ret = client->SendTo(test_packet.get(), test_packet_size, test_addr);
     ++sent_packet_num;
     if (ret != test_packet_size) {
@@ -1220,7 +1219,7 @@
   SocketAddress address = socket->GetLocalAddress();
   sink.Monitor(socket.get());
 
-  int64_t send_time_1 = TimeMicros();
+  int64_t send_time_1 = clock_.TimeInMicroseconds();
   socket->SendTo("foo", 3, address);
 
   // Wait until data is available.
@@ -1234,7 +1233,7 @@
   const int64_t kTimeBetweenPacketsMs = 100;
   Thread::SleepMs(kTimeBetweenPacketsMs);
 
-  int64_t send_time_2 = TimeMicros();
+  int64_t send_time_2 = clock_.TimeInMicroseconds();
   socket->SendTo("bar", 3, address);
   // Wait until data is available.
   EXPECT_THAT(WaitUntil([&] { return sink.Check(socket.get(), SSE_READ); },
@@ -1268,14 +1267,16 @@
   client2->SendTo("foo", 3, address);
   std::unique_ptr<TestClient::Packet> packet_1 = client1->NextPacket(10000);
   ASSERT_TRUE(packet_1 != nullptr);
-  EXPECT_NEAR(packet_1->packet_time->us(), TimeMicros(), 1000'000);
+  EXPECT_NEAR(packet_1->packet_time->us(), clock_.TimeInMicroseconds(),
+              1000'000);
 
   Thread::SleepMs(100);
   client2->SendTo("bar", 3, address);
   std::unique_ptr<TestClient::Packet> packet_2 = client1->NextPacket(10000);
   ASSERT_TRUE(packet_2 != nullptr);
   EXPECT_GT(packet_2->packet_time->us(), packet_1->packet_time->us());
-  EXPECT_NEAR(packet_2->packet_time->us(), TimeMicros(), 1000'000);
+  EXPECT_NEAR(packet_2->packet_time->us(), clock_.TimeInMicroseconds(),
+              1000'000);
 }
 
 void SocketTest::SocketSendRecvWithEcn(const IPAddress& loopback) {
diff --git a/rtc_base/socket_unittest.h b/rtc_base/socket_unittest.h
index 4532a06..9907701 100644
--- a/rtc_base/socket_unittest.h
+++ b/rtc_base/socket_unittest.h
@@ -16,6 +16,7 @@
 #include "absl/strings/string_view.h"
 #include "rtc_base/ip_address.h"
 #include "rtc_base/socket_factory.h"
+#include "system_wrappers/include/clock.h"
 #include "test/gtest.h"
 
 namespace webrtc {
@@ -28,6 +29,7 @@
   explicit SocketTest(SocketFactory* socket_factory)
       : kIPv4Loopback(INADDR_LOOPBACK),
         kIPv6Loopback(in6addr_loopback),
+        clock_(*Clock::GetRealTimeClock()),
         socket_factory_(socket_factory) {}
   void TestConnectIPv4();
   void TestConnectIPv6();
@@ -77,6 +79,7 @@
   void TcpInternal(const IPAddress& loopback,
                    size_t data_size,
                    ptrdiff_t max_send_size);
+  Clock& clock_;
 
  private:
   void ConnectInternal(const IPAddress& loopback);