Index: ppapi/tests/test_udp_socket_private.cc |
diff --git a/ppapi/tests/test_udp_socket_private.cc b/ppapi/tests/test_udp_socket_private.cc |
index ae1b978c298f5d48c8d782792a2ece06f39fadfd..c3f45278b5a1b23a12dda55ae4512091b8608084 100644 |
--- a/ppapi/tests/test_udp_socket_private.cc |
+++ b/ppapi/tests/test_udp_socket_private.cc |
@@ -58,6 +58,7 @@ void TestUDPSocketPrivate::RunTests(const std::string& filter) { |
RUN_CALLBACK_TEST(TestUDPSocketPrivate, ConnectFailure, filter); |
RUN_CALLBACK_TEST(TestUDPSocketPrivate, Broadcast, filter); |
RUN_CALLBACK_TEST(TestUDPSocketPrivate, SetSocketFeatureErrors, filter); |
+ RUN_CALLBACK_TEST(TestUDPSocketPrivate, Multicast, filter); |
} |
std::string TestUDPSocketPrivate::GetLocalAddress( |
@@ -164,6 +165,26 @@ std::string TestUDPSocketPrivate::PassMessage(pp::UDPSocketPrivate* target, |
PASS(); |
} |
+std::string TestUDPSocketPrivate::SetMulticastOptions( |
+ pp::UDPSocketPrivate* socket) { |
+ int32_t rv = socket->SetSocketFeature( |
+ PP_UDPSOCKETFEATURE_PRIVATE_MULTICAST_LOOP, pp::Var(true)); |
+ if (rv != PP_OK) |
+ return ReportError("PPB_UDPSocket_Private::SetSocketFeature", rv); |
+ |
+ rv = socket->SetSocketFeature(PP_UDPSOCKETFEATURE_PRIVATE_MULTICAST_TTL, |
+ pp::Var(1)); |
+ if (rv != PP_OK) |
+ return ReportError("PPB_UDPSocket_Private::SetSocketFeature", rv); |
+ |
+ rv = socket->SetSocketFeature(PP_UDPSOCKETFEATURE_PRIVATE_MULTICAST_IF, |
+ pp::Var(1)); |
+ if (rv != PP_OK) |
+ return ReportError("PPB_UDPSocket_Private::SetSocketFeature", rv); |
+ |
+ PASS(); |
+} |
+ |
std::string TestUDPSocketPrivate::TestConnect() { |
pp::UDPSocketPrivate server_socket(instance_), client_socket(instance_); |
PP_NetAddress_Private server_address, client_address; |
@@ -257,3 +278,11 @@ std::string TestUDPSocketPrivate::TestSetSocketFeatureErrors() { |
ASSERT_EQ(PP_ERROR_BADARGUMENT, rv); |
PASS(); |
} |
+ |
+std::string TestUDPSocketPrivate::TestMulticast() { |
+ pp::UDPSocketPrivate server1(instance_), server2(instance_); |
+ |
+ ASSERT_SUBTEST_SUCCESS(SetMulticastOptions(&server1)); |
+ ASSERT_SUBTEST_SUCCESS(SetMulticastOptions(&server2)); |
+ PASS(); |
+} |