| 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 6d0f3d43ce45fdfcc69da8a1c47f612fa670d96f..5dfe0046fc166424f76b5f33e2af73f37ba95f5a 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
|
| @@ -344,7 +344,7 @@ TEST_F(SocketTestWithServer, TCPConnect) {
|
| IP4ToSockAddr(LOCAL_HOST, PORT1, &addr);
|
|
|
| ASSERT_EQ(0, ki_connect(sock_, (sockaddr*) &addr, addrlen))
|
| - << "Failed with " << errno << ": " << strerror(errno) << "\n";
|
| + << "Failed with " << errno << ": " << strerror(errno);
|
|
|
| // Send two different messages to the echo server and verify the
|
| // response matches.
|
| @@ -376,7 +376,7 @@ TEST_F(SocketTestWithServer, TCPConnectNonBlock) {
|
| SetNonBlocking(sock_);
|
| ASSERT_EQ(-1, ki_connect(sock_, (sockaddr*) &addr, addrlen));
|
| ASSERT_EQ(EINPROGRESS, errno)
|
| - << "expected EINPROGRESS but got: " << strerror(errno) << "\n";
|
| + << "expected EINPROGRESS but got: " << strerror(errno);
|
| ASSERT_EQ(-1, ki_connect(sock_, (sockaddr*) &addr, addrlen));
|
| ASSERT_EQ(EALREADY, errno);
|
|
|
| @@ -420,7 +420,29 @@ TEST_F(SocketTest, Setsockopt) {
|
| ASSERT_EQ(-1, ki_setsockopt(sock1_, SOL_SOCKET, SO_ERROR,
|
| &socket_error, len));
|
| ASSERT_EQ(ENOPROTOOPT, errno);
|
| +}
|
| +
|
| +TEST_F(SocketTest, Sockopt_TCP_NODELAY) {
|
| + int option = 0;
|
| + socklen_t len = sizeof(option);
|
| + // Getting and setting TCP_NODELAY on UDP socket should fail
|
| + sock1_ = socket(AF_INET, SOCK_DGRAM, 0);
|
| + ASSERT_EQ(-1, ki_setsockopt(sock1_, IPPROTO_TCP, TCP_NODELAY, &option, len));
|
| + ASSERT_EQ(ENOPROTOOPT, errno);
|
| + ASSERT_EQ(-1, ki_getsockopt(sock1_, IPPROTO_TCP, TCP_NODELAY, &option, &len));
|
| + ASSERT_EQ(ENOPROTOOPT, errno);
|
|
|
| + // Getting and setting TCP_NODELAY on TCP socket should preserve value
|
| + sock2_ = socket(AF_INET, SOCK_STREAM, 0);
|
| + ASSERT_EQ(0, ki_getsockopt(sock2_, IPPROTO_TCP, TCP_NODELAY, &option, &len));
|
| + ASSERT_EQ(0, option);
|
| + ASSERT_EQ(sizeof(option), len);
|
| +
|
| + option = 1;
|
| + len = sizeof(option);
|
| + ASSERT_EQ(0, ki_setsockopt(sock2_, IPPROTO_TCP, TCP_NODELAY, &option, len))
|
| + << "Failed with " << errno << ": " << strerror(errno);
|
| + ASSERT_EQ(1, option);
|
| }
|
|
|
| TEST_F(SocketTest, Sockopt_KEEPALIVE) {
|
| @@ -512,7 +534,7 @@ TEST_F(SocketTestWithServer, LargeSend) {
|
|
|
| IP4ToSockAddr(LOCAL_HOST, PORT1, &addr);
|
| ASSERT_EQ(0, ki_connect(sock_, (sockaddr*) &addr, addrlen))
|
| - << "Failed with " << errno << ": " << strerror(errno) << "\n";
|
| + << "Failed with " << errno << ": " << strerror(errno);
|
|
|
| // Call send an recv until all bytes have been transfered.
|
| while (bytes_received < LARGE_SEND_BYTES) {
|
| @@ -588,7 +610,7 @@ TEST_F(SocketTestTCP, Listen) {
|
| IP4ToSockAddr(LOCAL_HOST, PORT1, &addr);
|
| addrlen = sizeof(addr);
|
| ASSERT_EQ(0, ki_connect(client_sock, (sockaddr*)&addr, addrlen))
|
| - << "Failed with " << errno << ": " << strerror(errno) << "\n";
|
| + << "Failed with " << errno << ": " << strerror(errno);
|
|
|
| ASSERT_EQ(greeting_len, ki_send(client_sock, client_greeting,
|
| greeting_len, 0));
|
| @@ -598,7 +620,7 @@ TEST_F(SocketTestTCP, Listen) {
|
| addrlen = sizeof(addr) + 10;
|
| int new_socket = accept(server_sock, (sockaddr*)&addr, &addrlen);
|
| ASSERT_GT(new_socket, -1)
|
| - << "accept failed with " << errno << ": " << strerror(errno) << "\n";
|
| + << "accept failed with " << errno << ": " << strerror(errno);
|
|
|
| // Verify addr and addrlen were set correctly
|
| ASSERT_EQ(addrlen, sizeof(sockaddr_in));
|
| @@ -652,7 +674,7 @@ TEST_F(SocketTestTCP, ListenNonBlocking) {
|
| IP4ToSockAddr(LOCAL_HOST, PORT1, &addr);
|
| addrlen = sizeof(addr);
|
| ASSERT_EQ(0, ki_connect(client_sock, (sockaddr*)&addr, addrlen))
|
| - << "Failed with " << errno << ": " << strerror(errno) << "\n";
|
| + << "Failed with " << errno << ": " << strerror(errno);
|
|
|
| // Not poll again but with an infintie timeout.
|
| pollfd.fd = server_sock;
|
| @@ -662,7 +684,7 @@ TEST_F(SocketTestTCP, ListenNonBlocking) {
|
| // Now non-blocking accept should return the new socket
|
| int new_socket = accept(server_sock, (sockaddr*)&addr, &addrlen);
|
| ASSERT_NE(-1, new_socket)
|
| - << "accept failed with: " << strerror(errno) << "\n";
|
| + << "accept failed with: " << strerror(errno);
|
| ASSERT_EQ(0, ki_close(new_socket));
|
|
|
| // Accept calls should once again fail with EAGAIN
|
| @@ -690,7 +712,7 @@ TEST_F(SocketTestTCP, SendRecvAfterRemoteShutdown) {
|
| // connect to listening socket
|
| IP4ToSockAddr(LOCAL_HOST, PORT1, &addr);
|
| ASSERT_EQ(0, ki_connect(client_sock, (sockaddr*)&addr, addrlen))
|
| - << "Failed with " << errno << ": " << strerror(errno) << "\n";
|
| + << "Failed with " << errno << ": " << strerror(errno);
|
|
|
| addrlen = sizeof(addr);
|
| int new_sock = accept(server_sock, (sockaddr*)&addr, &addrlen);
|
| @@ -732,7 +754,7 @@ TEST_F(SocketTestTCP, SendRecvAfterLocalShutdown) {
|
| // connect to listening socket
|
| IP4ToSockAddr(LOCAL_HOST, PORT1, &addr);
|
| ASSERT_EQ(0, ki_connect(client_sock, (sockaddr*)&addr, addrlen))
|
| - << "Failed with " << errno << ": " << strerror(errno) << "\n";
|
| + << "Failed with " << errno << ": " << strerror(errno);
|
|
|
| addrlen = sizeof(addr);
|
| int new_sock = accept(server_sock, (sockaddr*)&addr, &addrlen);
|
| @@ -764,7 +786,7 @@ TEST_F(SocketTestTCP, SendBufferedDataAfterShutdown) {
|
| // connect to listening socket
|
| IP4ToSockAddr(LOCAL_HOST, PORT1, &addr);
|
| ASSERT_EQ(0, ki_connect(client_sock, (sockaddr*)&addr, addrlen))
|
| - << "Failed with " << errno << ": " << strerror(errno) << "\n";
|
| + << "Failed with " << errno << ": " << strerror(errno);
|
|
|
| addrlen = sizeof(addr);
|
| int new_sock = accept(server_sock, (sockaddr*)&addr, &addrlen);
|
|
|