Reland Enable socketservers unittests on windows.

Original CL: https://codereview.webrtc.org/2199193004/
Revert CL: https://codereview.webrtc.org/2209333002/

NOTRY=true
BUG=webrtc:6167,webrtc:6178

Review-Url: https://codereview.webrtc.org/2218853002
Cr-Commit-Position: refs/heads/master@{#13654}
diff --git a/webrtc/base/physicalsocketserver_unittest.cc b/webrtc/base/physicalsocketserver_unittest.cc
index bd1acfb..6de8a90 100644
--- a/webrtc/base/physicalsocketserver_unittest.cc
+++ b/webrtc/base/physicalsocketserver_unittest.cc
@@ -259,11 +259,23 @@
   TcpInternal(loopback, kDataSize, kMaxSendSize);
 }
 
-TEST_F(PhysicalSocketTest, TestWritableAfterPartialWriteIPv4) {
+// https://bugs.chromium.org/p/webrtc/issues/detail?id=6167
+#if defined(WEBRTC_WIN)
+#define MAYBE_TestWritableAfterPartialWriteIPv4 DISABLED_TestWritableAfterPartialWriteIPv4
+#else
+#define MAYBE_TestWritableAfterPartialWriteIPv4 TestWritableAfterPartialWriteIPv4
+#endif
+TEST_F(PhysicalSocketTest, MAYBE_TestWritableAfterPartialWriteIPv4) {
   WritableAfterPartialWrite(kIPv4Loopback);
 }
 
-TEST_F(PhysicalSocketTest, TestWritableAfterPartialWriteIPv6) {
+// https://bugs.chromium.org/p/webrtc/issues/detail?id=6167
+#if defined(WEBRTC_WIN)
+#define MAYBE_TestWritableAfterPartialWriteIPv6 DISABLED_TestWritableAfterPartialWriteIPv6
+#else
+#define MAYBE_TestWritableAfterPartialWriteIPv6 TestWritableAfterPartialWriteIPv6
+#endif
+TEST_F(PhysicalSocketTest, MAYBE_TestWritableAfterPartialWriteIPv6) {
   MAYBE_SKIP_IPV6;
   WritableAfterPartialWrite(kIPv6Loopback);
 }
@@ -372,7 +384,13 @@
   SocketTest::TestUdpReadyToSendIPv4();
 }
 
-TEST_F(PhysicalSocketTest, TestUdpReadyToSendIPv6) {
+// https://bugs.chromium.org/p/webrtc/issues/detail?id=6167
+#if defined(WEBRTC_WIN)
+#define MAYBE_TestUdpReadyToSendIPv6 DISABLED_TestUdpReadyToSendIPv6
+#else
+#define MAYBE_TestUdpReadyToSendIPv6 TestUdpReadyToSendIPv6
+#endif
+TEST_F(PhysicalSocketTest, MAYBE_TestUdpReadyToSendIPv6) {
   SocketTest::TestUdpReadyToSendIPv6();
 }
 
diff --git a/webrtc/base/socket_unittest.cc b/webrtc/base/socket_unittest.cc
index 0b282cd..c206220 100644
--- a/webrtc/base/socket_unittest.cc
+++ b/webrtc/base/socket_unittest.cc
@@ -681,7 +681,7 @@
 }
 
 void SocketTest::TcpInternal(const IPAddress& loopback, size_t data_size,
-    ssize_t max_send_size) {
+    ptrdiff_t max_send_size) {
   testing::StreamSink sink;
   SocketAddress accept_addr;
 
@@ -719,6 +719,7 @@
     char ch = static_cast<char>(i % 256);
     send_buffer.AppendData(&ch, sizeof(ch));
   }
+  rtc::Buffer recved_data(0, data_size);
 
   // Send and receive a bunch of data.
   size_t sent_size = 0;
@@ -741,7 +742,7 @@
         EXPECT_LE(sent, unsent_size);
         sent_size += sent;
         if (max_send_size >= 0) {
-          EXPECT_LE(static_cast<ssize_t>(sent), max_send_size);
+          EXPECT_LE(static_cast<ptrdiff_t>(sent), max_send_size);
           if (sent < unsent_size) {
             // If max_send_size is limiting the amount to send per call such
             // that the sent amount is less than the unsent amount, we simulate
@@ -766,8 +767,7 @@
       }
 
       // Receive as much as we can get in a single recv call.
-      char recved_data[data_size];
-      int recved_size = receiver->Recv(recved_data, data_size, nullptr);
+      int recved_size = receiver->Recv(recved_data.data(), data_size, nullptr);
 
       if (!recv_called) {
         // The first Recv() after getting readability should succeed and receive
@@ -780,7 +780,7 @@
       if (recved_size >= 0) {
         EXPECT_LE(static_cast<size_t>(recved_size),
             sent_size - recv_buffer.size());
-        recv_buffer.AppendData(recved_data, recved_size);
+        recv_buffer.AppendData(recved_data.data(), recved_size);
       } else {
         ASSERT_TRUE(receiver->IsBlocking());
         readable = false;
@@ -790,7 +790,7 @@
     // Once all that we've sent has been received, expect to be able to send
     // again.
     if (!writable) {
-      EXPECT_TRUE_WAIT(sink.Check(sender.get(), testing::SSE_WRITE),
+      ASSERT_TRUE_WAIT(sink.Check(sender.get(), testing::SSE_WRITE),
                        kTimeout);
       writable = true;
       send_called = false;
diff --git a/webrtc/base/socket_unittest.h b/webrtc/base/socket_unittest.h
index 41f0a65..82b7ea5 100644
--- a/webrtc/base/socket_unittest.h
+++ b/webrtc/base/socket_unittest.h
@@ -65,7 +65,7 @@
 
  protected:
   void TcpInternal(const IPAddress& loopback, size_t data_size,
-      ssize_t max_send_size);
+      ptrdiff_t max_send_size);
 
  private:
   void ConnectInternal(const IPAddress& loopback);
diff --git a/webrtc/base/win32socketserver_unittest.cc b/webrtc/base/win32socketserver_unittest.cc
index daf9e70..f40fd5f 100644
--- a/webrtc/base/win32socketserver_unittest.cc
+++ b/webrtc/base/win32socketserver_unittest.cc
@@ -30,8 +30,8 @@
   server.Pump();
   MSG msg;
   EXPECT_EQ(TRUE, PeekMessage(&msg, NULL, WM_USER, 0, PM_REMOVE));
-  EXPECT_EQ(WM_USER, msg.message);
-  EXPECT_EQ(999, msg.wParam);
+  EXPECT_EQ(static_cast<UINT>(WM_USER), msg.message);
+  EXPECT_EQ(999u, msg.wParam);
 }
 
 // Test that Win32Socket passes all the generic Socket tests.
@@ -146,11 +146,15 @@
   SocketTest::TestUdpIPv6();
 }
 
-TEST_F(Win32SocketTest, TestGetSetOptionsIPv4) {
+// Breaks win_x64_dbg bot.
+// https://bugs.chromium.org/p/webrtc/issues/detail?id=6178
+TEST_F(Win32SocketTest, DISABLED_TestGetSetOptionsIPv4) {
   SocketTest::TestGetSetOptionsIPv4();
 }
 
-TEST_F(Win32SocketTest, TestGetSetOptionsIPv6) {
+// Breaks win_x64_dbg bot.
+// https://bugs.chromium.org/p/webrtc/issues/detail?id=6178
+TEST_F(Win32SocketTest, DISABLED_TestGetSetOptionsIPv6) {
   SocketTest::TestGetSetOptionsIPv6();
 }