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 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 EXPECT_EQ(errno, EBADF); | 238 EXPECT_EQ(errno, EBADF); |
234 EXPECT_LT(ki_shutdown(0, SHUT_RDWR), 0); | 239 EXPECT_LT(ki_shutdown(0, SHUT_RDWR), 0); |
235 EXPECT_EQ(errno, ENOTSOCK); | 240 EXPECT_EQ(errno, ENOTSOCK); |
236 } | 241 } |
237 | 242 |
238 TEST_F(SocketTest, Socket) { | 243 TEST_F(SocketTest, Socket) { |
239 EXPECT_LT(ki_socket(AF_UNIX, SOCK_STREAM, 0), 0); | 244 EXPECT_LT(ki_socket(AF_UNIX, SOCK_STREAM, 0), 0); |
240 EXPECT_EQ(errno, EAFNOSUPPORT); | 245 EXPECT_EQ(errno, EAFNOSUPPORT); |
241 EXPECT_LT(ki_socket(AF_INET, SOCK_RAW, 0), 0); | 246 EXPECT_LT(ki_socket(AF_INET, SOCK_RAW, 0), 0); |
242 EXPECT_EQ(errno, EPROTONOSUPPORT); | 247 EXPECT_EQ(errno, EPROTONOSUPPORT); |
243 | |
244 // These four af/protocol combinations should be supported. | |
245 EXPECT_LT(ki_socket(AF_INET, SOCK_STREAM, 0), 0); | |
246 EXPECT_EQ(errno, EACCES); | |
247 EXPECT_LT(ki_socket(AF_INET, SOCK_DGRAM, 0), 0); | |
248 EXPECT_EQ(errno, EACCES); | |
249 EXPECT_LT(ki_socket(AF_INET6, SOCK_STREAM, 0), 0); | |
250 EXPECT_EQ(errno, EACCES); | |
251 EXPECT_LT(ki_socket(AF_INET6, SOCK_DGRAM, 0), 0); | |
252 EXPECT_EQ(errno, EACCES); | |
253 } | 248 } |
254 | 249 |
255 TEST_F(SocketTest, Socketpair) { | 250 TEST_F(SocketTest, Socketpair) { |
256 int sv[2]; | 251 int sv[2]; |
257 EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, NULL), 0); | 252 EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, NULL), 0); |
258 EXPECT_EQ(errno, EFAULT); | 253 EXPECT_EQ(errno, EFAULT); |
259 EXPECT_LT(ki_socketpair(AF_UNIX, SOCK_STREAM, 0, sv), 0); | 254 EXPECT_LT(ki_socketpair(AF_UNIX, SOCK_STREAM, 0, sv), 0); |
260 EXPECT_EQ(errno, EAFNOSUPPORT); | 255 EXPECT_EQ(errno, EAFNOSUPPORT); |
261 EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, sv), 0); | 256 EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, sv), 0); |
262 EXPECT_EQ(errno, EPROTONOSUPPORT); | 257 EXPECT_EQ(errno, EPROTONOSUPPORT); |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 addr_name, INET_ADDRSTRLEN - 1)); | 362 addr_name, INET_ADDRSTRLEN - 1)); |
368 EXPECT_EQ(errno, ENOSPC); | 363 EXPECT_EQ(errno, ENOSPC); |
369 | 364 |
370 EXPECT_TRUE(NULL == inet_ntop(AF_INET6, &ipv6_addr, | 365 EXPECT_TRUE(NULL == inet_ntop(AF_INET6, &ipv6_addr, |
371 addr_name, INET6_ADDRSTRLEN - 1)); | 366 addr_name, INET6_ADDRSTRLEN - 1)); |
372 EXPECT_EQ(errno, ENOSPC); | 367 EXPECT_EQ(errno, ENOSPC); |
373 } | 368 } |
374 | 369 |
375 #endif // !defined(__GLIBC__) | 370 #endif // !defined(__GLIBC__) |
376 #endif // PROVIDES_SOCKETPAIR_API | 371 #endif // PROVIDES_SOCKETPAIR_API |
OLD | NEW |