Chromium Code Reviews| Index: ppapi/tests/test_udp_socket.cc |
| diff --git a/ppapi/tests/test_udp_socket.cc b/ppapi/tests/test_udp_socket.cc |
| index 2b0568244e30001b37e5670f41a4799e733e7af6..3d8bd588253e7257d7adce95a94b5ba72374c6d8 100644 |
| --- a/ppapi/tests/test_udp_socket.cc |
| +++ b/ppapi/tests/test_udp_socket.cc |
| @@ -84,6 +84,7 @@ void TestUDPSocket::RunTests(const std::string& filter) { |
| RUN_CALLBACK_TEST(TestUDPSocket, Broadcast, filter); |
| RUN_CALLBACK_TEST(TestUDPSocket, SetOption, filter); |
| RUN_CALLBACK_TEST(TestUDPSocket, ParallelSend, filter); |
| + RUN_CALLBACK_TEST(TestUDPSocket, Multicast, filter); |
| } |
| std::string TestUDPSocket::GetLocalAddress(pp::NetAddress* address) { |
| @@ -186,6 +187,23 @@ std::string TestUDPSocket::PassMessage(pp::UDPSocket* target, |
| PASS(); |
| } |
| +std::string TestUDPSocket::SetMulticastOptions(pp::UDPSocket* socket) { |
| + TestCompletionCallback callback_1(instance_->pp_instance(), callback_type()); |
| + callback_1.WaitForResult(socket->SetOption( |
| + PP_UDPSOCKET_OPTION_MULTICAST_LOOP, pp::Var(true), |
| + callback_1.GetCallback())); |
| + CHECK_CALLBACK_BEHAVIOR(callback_1); |
| + ASSERT_EQ(PP_OK, callback_1.result()); |
| + |
| + TestCompletionCallback callback_2(instance_->pp_instance(), callback_type()); |
| + callback_2.WaitForResult(socket->SetOption( |
| + PP_UDPSOCKET_OPTION_MULTICAST_TTL, pp::Var(1), callback_2.GetCallback())); |
| + CHECK_CALLBACK_BEHAVIOR(callback_2); |
| + ASSERT_EQ(PP_OK, callback_2.result()); |
| + |
|
bbudge
2015/02/13 00:03:16
You should verify invalid types and values fail, e
etrunko
2015/02/13 20:19:58
Thankfully, TCP_Socket has similar test for differ
|
| + PASS(); |
| +} |
| + |
| std::string TestUDPSocket::TestReadWrite() { |
| pp::UDPSocket server_socket(instance_), client_socket(instance_); |
| pp::NetAddress server_address, client_address; |
| @@ -260,6 +278,7 @@ std::string TestUDPSocket::TestSetOption() { |
| pp::UDPSocket socket(instance_); |
| ASSERT_SUBTEST_SUCCESS(SetBroadcastOptions(&socket)); |
| + ASSERT_SUBTEST_SUCCESS(SetMulticastOptions(&socket)); |
| // Try to pass incorrect option value's type. |
| TestCompletionCallback callback(instance_->pp_instance(), callback_type()); |
| @@ -383,6 +402,12 @@ std::string TestUDPSocket::TestParallelSend() { |
| server_socket.Close(); |
| client_socket.Close(); |
| +} |
| + |
| +std::string TestUDPSocket::TestMulticast() { |
| + pp::UDPSocket server1(instance_), server2(instance_); |
| + ASSERT_SUBTEST_SUCCESS(SetMulticastOptions(&server1)); |
| + ASSERT_SUBTEST_SUCCESS(SetMulticastOptions(&server2)); |
| PASS(); |
| } |