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/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;