Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2427)

Unified Diff: native_client_sdk/src/tests/nacl_io_socket_test/socket_test.cc

Issue 99813004: [NaCl SDK] nacl_io: implement set/getsockopt for TCP_NODELAY. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/ossocket.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/ossocket.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698