| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 |
| 5 #include <arpa/inet.h> |
| 4 #include <errno.h> | 6 #include <errno.h> |
| 5 #include <fcntl.h> | 7 #include <fcntl.h> |
| 8 #include <netinet/in.h> |
| 6 #include <pthread.h> | 9 #include <pthread.h> |
| 10 #include <sys/types.h> |
| 11 #include <sys/socket.h> |
| 7 #include <sys/stat.h> | 12 #include <sys/stat.h> |
| 8 | 13 |
| 9 #include <map> | 14 #include <map> |
| 10 #include <string> | 15 #include <string> |
| 11 | 16 |
| 12 #include "gmock/gmock.h" | 17 #include "gmock/gmock.h" |
| 13 #include "gtest/gtest.h" | 18 #include "gtest/gtest.h" |
| 14 | 19 |
| 15 #include "nacl_io/kernel_intercept.h" | 20 #include "nacl_io/kernel_intercept.h" |
| 16 #include "nacl_io/kernel_proxy.h" | 21 #include "nacl_io/kernel_proxy.h" |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 EXPECT_EQ(errno, EBADF); | 233 EXPECT_EQ(errno, EBADF); |
| 229 EXPECT_LT(ki_shutdown(0, SHUT_RDWR), 0); | 234 EXPECT_LT(ki_shutdown(0, SHUT_RDWR), 0); |
| 230 EXPECT_EQ(errno, ENOTSOCK); | 235 EXPECT_EQ(errno, ENOTSOCK); |
| 231 } | 236 } |
| 232 | 237 |
| 233 TEST_F(SocketTest, Socket) { | 238 TEST_F(SocketTest, Socket) { |
| 234 EXPECT_LT(ki_socket(AF_UNIX, SOCK_STREAM, 0), 0); | 239 EXPECT_LT(ki_socket(AF_UNIX, SOCK_STREAM, 0), 0); |
| 235 EXPECT_EQ(errno, EAFNOSUPPORT); | 240 EXPECT_EQ(errno, EAFNOSUPPORT); |
| 236 EXPECT_LT(ki_socket(AF_INET, SOCK_RAW, 0), 0); | 241 EXPECT_LT(ki_socket(AF_INET, SOCK_RAW, 0), 0); |
| 237 EXPECT_EQ(errno, EPROTONOSUPPORT); | 242 EXPECT_EQ(errno, EPROTONOSUPPORT); |
| 238 | |
| 239 // These four af/protocol combinations should be supported. | |
| 240 EXPECT_LT(ki_socket(AF_INET, SOCK_STREAM, 0), 0); | |
| 241 EXPECT_EQ(errno, EACCES); | |
| 242 EXPECT_LT(ki_socket(AF_INET, SOCK_DGRAM, 0), 0); | |
| 243 EXPECT_EQ(errno, EACCES); | |
| 244 EXPECT_LT(ki_socket(AF_INET6, SOCK_STREAM, 0), 0); | |
| 245 EXPECT_EQ(errno, EACCES); | |
| 246 EXPECT_LT(ki_socket(AF_INET6, SOCK_DGRAM, 0), 0); | |
| 247 EXPECT_EQ(errno, EACCES); | |
| 248 } | 243 } |
| 249 | 244 |
| 250 TEST_F(SocketTest, Socketpair) { | 245 TEST_F(SocketTest, Socketpair) { |
| 251 int sv[2]; | 246 int sv[2]; |
| 252 EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, NULL), 0); | 247 EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, NULL), 0); |
| 253 EXPECT_EQ(errno, EFAULT); | 248 EXPECT_EQ(errno, EFAULT); |
| 254 EXPECT_LT(ki_socketpair(AF_UNIX, SOCK_STREAM, 0, sv), 0); | 249 EXPECT_LT(ki_socketpair(AF_UNIX, SOCK_STREAM, 0, sv), 0); |
| 255 EXPECT_EQ(errno, EAFNOSUPPORT); | 250 EXPECT_EQ(errno, EAFNOSUPPORT); |
| 256 EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, sv), 0); | 251 EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, sv), 0); |
| 257 EXPECT_EQ(errno, EPROTONOSUPPORT); | 252 EXPECT_EQ(errno, EPROTONOSUPPORT); |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 TEST(SocketUtilityFunctions, Ntohl) { | 400 TEST(SocketUtilityFunctions, Ntohl) { |
| 406 uint8_t network_bytes[4] = { 0x44, 0x33, 0x22, 0x11 }; | 401 uint8_t network_bytes[4] = { 0x44, 0x33, 0x22, 0x11 }; |
| 407 uint32_t network_long; | 402 uint32_t network_long; |
| 408 memcpy(&network_long, network_bytes, 4); | 403 memcpy(&network_long, network_bytes, 4); |
| 409 uint32_t host_long = ntohl(network_long); | 404 uint32_t host_long = ntohl(network_long); |
| 410 EXPECT_EQ(host_long, 0x44332211); | 405 EXPECT_EQ(host_long, 0x44332211); |
| 411 } | 406 } |
| 412 | 407 |
| 413 #endif // !defined(__GLIBC__) | 408 #endif // !defined(__GLIBC__) |
| 414 #endif // PROVIDES_SOCKETPAIR_API | 409 #endif // PROVIDES_SOCKETPAIR_API |
| OLD | NEW |