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 "ppapi/tests/test_udp_socket.h" | 5 #include "ppapi/tests/test_udp_socket.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "ppapi/cpp/pass_ref.h" | 9 #include "ppapi/cpp/pass_ref.h" |
10 #include "ppapi/cpp/tcp_socket.h" | 10 #include "ppapi/cpp/tcp_socket.h" |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 callback.WaitForResult(socket.SetOption( | 265 callback.WaitForResult(socket.SetOption( |
266 PP_UDPSOCKET_OPTION_ADDRESS_REUSE, pp::Var(1), callback.GetCallback())); | 266 PP_UDPSOCKET_OPTION_ADDRESS_REUSE, pp::Var(1), callback.GetCallback())); |
267 CHECK_CALLBACK_BEHAVIOR(callback); | 267 CHECK_CALLBACK_BEHAVIOR(callback); |
268 ASSERT_EQ(PP_ERROR_BADARGUMENT, callback.result()); | 268 ASSERT_EQ(PP_ERROR_BADARGUMENT, callback.result()); |
269 | 269 |
270 callback.WaitForResult(socket.SetOption( | 270 callback.WaitForResult(socket.SetOption( |
271 PP_UDPSOCKET_OPTION_BROADCAST, pp::Var(false), callback.GetCallback())); | 271 PP_UDPSOCKET_OPTION_BROADCAST, pp::Var(false), callback.GetCallback())); |
272 CHECK_CALLBACK_BEHAVIOR(callback); | 272 CHECK_CALLBACK_BEHAVIOR(callback); |
273 ASSERT_EQ(PP_OK, callback.result()); | 273 ASSERT_EQ(PP_OK, callback.result()); |
274 | 274 |
275 // SEND_BUFFER_SIZE and RECV_BUFFER_SIZE shouldn't be set before the socket is | |
276 // bound. | |
277 callback.WaitForResult(socket.SetOption( | 275 callback.WaitForResult(socket.SetOption( |
278 PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE, pp::Var(4096), | 276 PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE, pp::Var(4096), |
279 callback.GetCallback())); | 277 callback.GetCallback())); |
280 CHECK_CALLBACK_BEHAVIOR(callback); | 278 CHECK_CALLBACK_BEHAVIOR(callback); |
281 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); | 279 ASSERT_EQ(PP_OK, callback.result()); |
282 | 280 |
283 callback.WaitForResult(socket.SetOption( | 281 callback.WaitForResult(socket.SetOption( |
284 PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE, pp::Var(512), | 282 PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE, pp::Var(512), |
285 callback.GetCallback())); | 283 callback.GetCallback())); |
286 CHECK_CALLBACK_BEHAVIOR(callback); | 284 CHECK_CALLBACK_BEHAVIOR(callback); |
287 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); | 285 ASSERT_EQ(PP_OK, callback.result()); |
288 | 286 |
289 pp::NetAddress address; | 287 pp::NetAddress address; |
290 ASSERT_SUBTEST_SUCCESS(LookupPortAndBindUDPSocket(&socket, &address)); | 288 ASSERT_SUBTEST_SUCCESS(LookupPortAndBindUDPSocket(&socket, &address)); |
291 | 289 |
292 // ADDRESS_REUSE and BROADCAST won't take effect after the socket is bound. | 290 // All of ADDRESS_REUSE, BROADCAST, SEND_BUFFER_SIZE and RECV_BUFFER_SIZE can |
| 291 // be set after the socket is bound. |
293 callback.WaitForResult(socket.SetOption( | 292 callback.WaitForResult(socket.SetOption( |
294 PP_UDPSOCKET_OPTION_ADDRESS_REUSE, pp::Var(true), | 293 PP_UDPSOCKET_OPTION_ADDRESS_REUSE, pp::Var(true), |
295 callback.GetCallback())); | 294 callback.GetCallback())); |
296 CHECK_CALLBACK_BEHAVIOR(callback); | 295 CHECK_CALLBACK_BEHAVIOR(callback); |
297 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); | 296 ASSERT_EQ(PP_OK, callback.result()); |
298 | 297 |
299 callback.WaitForResult(socket.SetOption( | 298 callback.WaitForResult(socket.SetOption( |
300 PP_UDPSOCKET_OPTION_BROADCAST, pp::Var(true), callback.GetCallback())); | 299 PP_UDPSOCKET_OPTION_BROADCAST, pp::Var(true), callback.GetCallback())); |
301 CHECK_CALLBACK_BEHAVIOR(callback); | 300 CHECK_CALLBACK_BEHAVIOR(callback); |
302 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); | 301 ASSERT_EQ(PP_OK, callback.result()); |
303 | 302 |
304 // SEND_BUFFER_SIZE and RECV_BUFFER_SIZE can be set after the socket is bound. | |
305 callback.WaitForResult(socket.SetOption( | 303 callback.WaitForResult(socket.SetOption( |
306 PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE, pp::Var(2048), | 304 PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE, pp::Var(2048), |
307 callback.GetCallback())); | 305 callback.GetCallback())); |
308 CHECK_CALLBACK_BEHAVIOR(callback); | 306 CHECK_CALLBACK_BEHAVIOR(callback); |
309 ASSERT_EQ(PP_OK, callback.result()); | 307 ASSERT_EQ(PP_OK, callback.result()); |
310 | 308 |
311 callback.WaitForResult(socket.SetOption( | 309 callback.WaitForResult(socket.SetOption( |
312 PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE, pp::Var(1024), | 310 PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE, pp::Var(1024), |
313 callback.GetCallback())); | 311 callback.GetCallback())); |
314 CHECK_CALLBACK_BEHAVIOR(callback); | 312 CHECK_CALLBACK_BEHAVIOR(callback); |
315 ASSERT_EQ(PP_OK, callback.result()); | 313 ASSERT_EQ(PP_OK, callback.result()); |
316 | 314 |
317 PASS(); | 315 PASS(); |
318 } | 316 } |
OLD | NEW |