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

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

Issue 23456045: [NaCl SDK] nacl_io: Add initial support for getsockopt (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months 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
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 e9391d0595746ef760a64fd8b19849b18c0bc284..fdf878f506c75491669b3891363d455400a9bb78 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
@@ -216,7 +216,7 @@ TEST_F(SocketTestTCP, DISABLED_Connect) {
memset(inbuf, 0, sizeof(inbuf));
int sock = socket(AF_INET, SOCK_STREAM, 0);
- EXPECT_NE(-1, sock);
+ EXPECT_GT(sock, -1);
sockaddr_in addr;
socklen_t addrlen = sizeof(addr);
@@ -233,4 +233,32 @@ TEST_F(SocketTestTCP, DISABLED_Connect) {
EXPECT_EQ(0, memcmp(outbuf, inbuf, sizeof(outbuf)));
}
+TEST_F(SocketTest, Setsockopt) {
+ int sock = socket(AF_INET, SOCK_STREAM, 0);
+ EXPECT_GT(sock, -1);
+ int socket_error = 99;
+ socklen_t len = sizeof(socket_error);
+
+ // Test for valid option (SO_ERROR) which should be 0 when a socket
+ // is first created.
+ ASSERT_EQ(0, getsockopt(sock, SOL_SOCKET, SO_ERROR, &socket_error, &len));
+ ASSERT_EQ(0, socket_error);
+ ASSERT_EQ(sizeof(socket_error), len);
+
+ // Test for an invalid option (-1)
+ ASSERT_EQ(-1, getsockopt(sock, SOL_SOCKET, -1, &socket_error, &len));
+ ASSERT_EQ(ENOPROTOOPT, errno);
+}
+
+TEST_F(SocketTest, Getsockopt) {
+ int sock = socket(AF_INET, SOCK_STREAM, 0);
+ EXPECT_GT(sock, -1);
+
+ // It should not be possible to set SO_ERROR using setsockopt.
+ int socket_error = 10;
+ socklen_t len = sizeof(socket_error);
+ ASSERT_EQ(-1, setsockopt(sock, SOL_SOCKET, SO_ERROR, &socket_error, len));
+ ASSERT_EQ(ENOPROTOOPT, errno);
+}
+
#endif // PROVIDES_SOCKET_API
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/mount_node_tcp.cc ('k') | native_client_sdk/src/tests/nacl_io_test/socket_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698