Chromium Code Reviews| 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 | 4 |
| 5 #include <arpa/inet.h> | 5 #include <arpa/inet.h> |
| 6 #include <errno.h> | 6 #include <errno.h> |
| 7 #include <fcntl.h> | 7 #include <fcntl.h> |
| 8 #include <netinet/in.h> | 8 #include <netinet/in.h> |
| 9 #include <pthread.h> | 9 #include <pthread.h> |
| 10 #include <sys/types.h> | 10 #include <sys/types.h> |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 92 sock1 = socket(AF_INET, SOCK_STREAM, 0); | 92 sock1 = socket(AF_INET, SOCK_STREAM, 0); |
| 93 sock2 = socket(AF_INET, SOCK_STREAM, 0); | 93 sock2 = socket(AF_INET, SOCK_STREAM, 0); |
| 94 | 94 |
| 95 EXPECT_LT(-1, sock1); | 95 EXPECT_LT(-1, sock1); |
| 96 EXPECT_LT(-1, sock2); | 96 EXPECT_LT(-1, sock2); |
| 97 } | 97 } |
| 98 }; | 98 }; |
| 99 | 99 |
| 100 } // namespace | 100 } // namespace |
| 101 | 101 |
| 102 #if 0 | |
|
binji
2013/09/15 22:18:58
why removed?
noelallen1
2013/09/17 21:21:54
Stale change version.
| |
| 102 TEST(SocketTestSimple, Socket) { | 103 TEST(SocketTestSimple, Socket) { |
| 103 EXPECT_EQ(-1, socket(AF_UNIX, SOCK_STREAM, 0)); | 104 EXPECT_EQ(-1, socket(AF_UNIX, SOCK_STREAM, 0)); |
| 104 EXPECT_EQ(errno, EAFNOSUPPORT); | 105 EXPECT_EQ(errno, EAFNOSUPPORT); |
| 105 EXPECT_EQ(-1, socket(AF_INET, SOCK_RAW, 0)); | 106 EXPECT_EQ(-1, socket(AF_INET, SOCK_RAW, 0)); |
| 106 EXPECT_EQ(errno, EPROTONOSUPPORT); | 107 EXPECT_EQ(errno, EPROTONOSUPPORT); |
| 107 | 108 |
| 108 int sock1 = socket(AF_INET, SOCK_DGRAM, 0); | 109 int sock1 = socket(AF_INET, SOCK_DGRAM, 0); |
| 109 EXPECT_NE(-1, sock1); | 110 EXPECT_NE(-1, sock1); |
| 110 | 111 |
| 111 int sock2 = socket(AF_INET6, SOCK_DGRAM, 0); | 112 int sock2 = socket(AF_INET6, SOCK_DGRAM, 0); |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 133 // Addr in use. | 134 // Addr in use. |
| 134 EXPECT_EQ(Bind(sock2, LOCAL_HOST, PORT1), EADDRINUSE); | 135 EXPECT_EQ(Bind(sock2, LOCAL_HOST, PORT1), EADDRINUSE); |
| 135 | 136 |
| 136 // Bind with a wildcard. | 137 // Bind with a wildcard. |
| 137 EXPECT_EQ(Bind(sock2, LOCAL_HOST, ANY_PORT), ENONE); | 138 EXPECT_EQ(Bind(sock2, LOCAL_HOST, ANY_PORT), ENONE); |
| 138 | 139 |
| 139 // Invalid to rebind after wildcard | 140 // Invalid to rebind after wildcard |
| 140 EXPECT_EQ(Bind(sock2, LOCAL_HOST, PORT1), EINVAL); | 141 EXPECT_EQ(Bind(sock2, LOCAL_HOST, PORT1), EINVAL); |
| 141 | 142 |
| 142 } | 143 } |
| 143 | 144 #endif |
| 144 TEST_F(SocketTestUDP, SendRcv) { | 145 TEST_F(SocketTestUDP, SendRcv) { |
| 145 char outbuf[256]; | 146 char outbuf[256]; |
| 146 char inbuf[512]; | 147 char inbuf[512]; |
| 147 | 148 |
| 148 memset(outbuf, 1, sizeof(outbuf)); | 149 memset(outbuf, 1, sizeof(outbuf)); |
| 149 memset(inbuf, 0, sizeof(inbuf)); | 150 memset(inbuf, 0, sizeof(inbuf)); |
| 150 | 151 |
| 151 EXPECT_EQ(Bind(sock1, LOCAL_HOST, PORT1), ENONE); | 152 EXPECT_EQ(Bind(sock1, LOCAL_HOST, PORT1), ENONE); |
| 152 EXPECT_EQ(Bind(sock2, LOCAL_HOST, PORT2), ENONE); | 153 EXPECT_EQ(Bind(sock2, LOCAL_HOST, PORT2), ENONE); |
| 153 | 154 |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 167 int len2 = | 168 int len2 = |
| 168 recvfrom(sock2, inbuf, sizeof(inbuf), 0, (sockaddr *) &addr, &addrlen); | 169 recvfrom(sock2, inbuf, sizeof(inbuf), 0, (sockaddr *) &addr, &addrlen); |
| 169 EXPECT_EQ(sizeof(outbuf), len2); | 170 EXPECT_EQ(sizeof(outbuf), len2); |
| 170 EXPECT_EQ(sizeof(sockaddr_in), addrlen); | 171 EXPECT_EQ(sizeof(sockaddr_in), addrlen); |
| 171 EXPECT_EQ(PORT1, htons(addr.sin_port)); | 172 EXPECT_EQ(PORT1, htons(addr.sin_port)); |
| 172 | 173 |
| 173 // Now they should be the same | 174 // Now they should be the same |
| 174 EXPECT_EQ(0, memcmp(outbuf, inbuf, sizeof(outbuf))); | 175 EXPECT_EQ(0, memcmp(outbuf, inbuf, sizeof(outbuf))); |
| 175 } | 176 } |
| 176 | 177 |
| 177 #if 0 | |
| 178 TEST_F(SocketTestTCP, Connect) { | 178 TEST_F(SocketTestTCP, Connect) { |
| 179 char outbuf[256]; | |
| 180 char inbuf[512]; | |
| 181 | |
| 182 memset(outbuf, 1, sizeof(outbuf)); | |
| 183 memset(inbuf, 0, sizeof(inbuf)); | |
| 184 | |
| 179 int sock = socket(AF_INET, SOCK_STREAM, 0); | 185 int sock = socket(AF_INET, SOCK_STREAM, 0); |
| 180 EXPECT_NE(-1, sock); | 186 EXPECT_NE(-1, sock); |
| 181 | 187 |
| 182 sockaddr_in addr; | 188 sockaddr_in addr; |
| 183 socklen_t addrlen = sizeof(addr); | 189 socklen_t addrlen = sizeof(addr); |
| 184 | 190 |
| 185 IP4ToSockAddr(LOCAL_HOST, PORT1, &addr); | 191 IP4ToSockAddr(LOCAL_HOST, PORT1, &addr); |
| 186 int err = connect(sock, (sockaddr*) &addr, addrlen); | 192 int err = connect(sock, (sockaddr*) &addr, addrlen); |
| 193 | |
| 187 EXPECT_EQ(ENONE, err) << "Failed with errno: " << errno << "\n"; | 194 EXPECT_EQ(ENONE, err) << "Failed with errno: " << errno << "\n"; |
| 195 | |
| 196 EXPECT_EQ(sizeof(outbuf), write(sock, outbuf, sizeof(outbuf))); | |
| 197 EXPECT_EQ(sizeof(outbuf), read(sock, inbuf, sizeof(inbuf))); | |
| 198 | |
| 199 // Now they should be the same | |
| 200 EXPECT_EQ(0, memcmp(outbuf, inbuf, sizeof(outbuf))); | |
| 188 } | 201 } |
| 189 #endif | |
| 190 | 202 |
| 191 #endif // PROVIDES_SOCKETPAIR_API | 203 #endif // PROVIDES_SOCKETPAIR_API |
| OLD | NEW |