Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / tests / nacl_io_socket_test / socket_test.cc
index b9e2adc..f5ab432 100644 (file)
@@ -594,6 +594,20 @@ TEST_F(SocketTestUDP, Listen) {
   EXPECT_EQ(errno, ENOTSUP);
 }
 
+TEST_F(SocketTestUDP, Sockopt_BUFSIZE) {
+  int option = 1024*1024;
+  socklen_t len = sizeof(option);
+
+  ASSERT_EQ(0, Bind(sock1_, LOCAL_HOST, ANY_PORT));
+
+  // Modify the test to verify the change by calling getsockopt
+  // once UDPInterface supports GetOption() call
+  ASSERT_EQ(0, ki_setsockopt(sock1_, SOL_SOCKET, SO_RCVBUF, &option, len))
+    << "failed with: " << strerror(errno);
+  ASSERT_EQ(0, ki_setsockopt(sock1_, SOL_SOCKET, SO_SNDBUF, &option, len))
+    << "failed with: " << strerror(errno);
+}
+
 TEST_F(SocketTestTCP, Listen) {
   sockaddr_in addr;
   socklen_t addrlen = sizeof(addr);
@@ -679,6 +693,16 @@ TEST_F(SocketTestTCP, Listen) {
   ASSERT_EQ(0, ki_close(new_socket));
 }
 
+TEST_F(SocketTestTCP, BindAndGetSockName) {
+  sockaddr_in addr;
+  socklen_t addrlen = sizeof(addr);
+
+  // Bind
+  ASSERT_EQ(0, Bind(sock1_, LOCAL_HOST, 0));
+  EXPECT_EQ(0, ki_getsockname(sock1_, (struct sockaddr*)&addr, &addrlen));
+  EXPECT_NE(0, addr.sin_port);
+}
+
 TEST_F(SocketTestTCP, ListenNonBlocking) {
   int server_sock = sock1_;
 
@@ -846,4 +870,35 @@ TEST_F(SocketTestTCP, SendBufferedDataAfterShutdown) {
   ASSERT_EQ(0, ki_close(new_sock));
 }
 
+TEST_F(SocketTestTCP, Sockopt_BUFSIZE) {
+  int option = 1024*1024;
+  socklen_t len = sizeof(option);
+  sockaddr_in addr;
+  socklen_t addrlen = sizeof(addr);
+
+  int server_sock = sock1_;
+  int client_sock = sock2_;
+
+  // bind and listen
+  ASSERT_EQ(0, Bind(server_sock, LOCAL_HOST, PORT1));
+  ASSERT_EQ(0, ki_listen(server_sock, 10))
+    << "listen failed with: " << strerror(errno);
+
+  // connect to listening socket
+  IP4ToSockAddr(LOCAL_HOST, PORT1, &addr);
+  ASSERT_EQ(0, ki_connect(client_sock, (sockaddr*)&addr, addrlen))
+    << "Failed with " << errno << ": " << strerror(errno);
+
+  addrlen = sizeof(addr);
+  int new_sock = ki_accept(server_sock, (sockaddr*)&addr, &addrlen);
+  ASSERT_NE(-1, new_sock);
+
+  // Modify the test to verify the change by calling getsockopt
+  // once TCPInterface supports GetOption() call
+  ASSERT_EQ(0, ki_setsockopt(sock2_, SOL_SOCKET, SO_RCVBUF, &option, len))
+      << "failed with: " << strerror(errno);
+  ASSERT_EQ(0, ki_setsockopt(sock2_, SOL_SOCKET, SO_SNDBUF, &option, len))
+      << "failed with: " << strerror(errno);
+}
+
 #endif  // PROVIDES_SOCKET_API