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

Side by Side Diff: native_client_sdk/src/tests/nacl_io_socket_test/socket_test.cc

Issue 23498015: [NaCl SDK] Support non blocking TCP/UDP (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added Fifo Tests 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698