| Index: native_client_sdk/src/tests/nacl_io_socket_test/socket_test.cc | 
| diff --git a/native_client_sdk/src/tests/nacl_io_socket_test/socket_test.cc b/native_client_sdk/src/tests/nacl_io_socket_test/socket_test.cc | 
| index fe22ae18e03452aabacf4dee31dd011ebb16d8b9..e9391d0595746ef760a64fd8b19849b18c0bc284 100644 | 
| --- a/native_client_sdk/src/tests/nacl_io_socket_test/socket_test.cc | 
| +++ b/native_client_sdk/src/tests/nacl_io_socket_test/socket_test.cc | 
| @@ -174,8 +174,47 @@ TEST_F(SocketTestUDP, SendRcv) { | 
| EXPECT_EQ(0, memcmp(outbuf, inbuf, sizeof(outbuf))); | 
| } | 
|  | 
| -#if 0 | 
| -TEST_F(SocketTestTCP, Connect) { | 
| +const size_t queue_size = 65536 * 8; | 
| +TEST_F(SocketTestUDP, FullFifo) { | 
| +  char outbuf[16 * 1024]; | 
| + | 
| +  EXPECT_EQ(Bind(sock1, LOCAL_HOST, PORT1), ENONE); | 
| +  EXPECT_EQ(Bind(sock2, LOCAL_HOST, PORT2), ENONE); | 
| + | 
| +  sockaddr_in addr; | 
| +  socklen_t addrlen = sizeof(addr); | 
| +  IP4ToSockAddr(LOCAL_HOST, PORT2, &addr); | 
| + | 
| +  size_t total = 0; | 
| +  while (total < queue_size * 8) { | 
| +     int len = sendto(sock1, outbuf, sizeof(outbuf), MSG_DONTWAIT, | 
| +                      (sockaddr *) &addr, addrlen); | 
| + | 
| +     if (len <= 0) { | 
| +       EXPECT_EQ(-1, len); | 
| +       EXPECT_EQ(errno, EWOULDBLOCK); | 
| +       break; | 
| +     } | 
| + | 
| +     if (len >= 0) { | 
| +       EXPECT_EQ(sizeof(outbuf), len); | 
| +       total += len; | 
| +     } | 
| + | 
| +  } | 
| +  EXPECT_GT(total, queue_size -1); | 
| +  EXPECT_LT(total, queue_size * 8); | 
| +} | 
| + | 
| +// TODO(noelallen) BUG=294412 | 
| +// Re-enable testing on bots when server sockets are available. | 
| +TEST_F(SocketTestTCP, DISABLED_Connect) { | 
| +  char outbuf[256]; | 
| +  char inbuf[512]; | 
| + | 
| +  memset(outbuf, 1, sizeof(outbuf)); | 
| +  memset(inbuf, 0, sizeof(inbuf)); | 
| + | 
| int sock = socket(AF_INET, SOCK_STREAM, 0); | 
| EXPECT_NE(-1, sock); | 
|  | 
| @@ -184,8 +223,14 @@ TEST_F(SocketTestTCP, Connect) { | 
|  | 
| IP4ToSockAddr(LOCAL_HOST, PORT1, &addr); | 
| int err = connect(sock, (sockaddr*) &addr, addrlen); | 
| + | 
| EXPECT_EQ(ENONE, err) << "Failed with errno: " << errno << "\n"; | 
| + | 
| +  EXPECT_EQ(sizeof(outbuf), write(sock, outbuf, sizeof(outbuf))); | 
| +  EXPECT_EQ(sizeof(outbuf), read(sock, inbuf, sizeof(inbuf))); | 
| + | 
| +  // Now they should be the same | 
| +  EXPECT_EQ(0, memcmp(outbuf, inbuf, sizeof(outbuf))); | 
| } | 
| -#endif | 
|  | 
| -#endif  // PROVIDES_SOCKETPAIR_API | 
| +#endif  // PROVIDES_SOCKET_API | 
|  |