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

Unified Diff: ppapi/tests/test_udp_socket_private.cc

Issue 704133005: Pepper: Add support for multicast in PPB_UDPSocket API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase, version new enum values Created 6 years 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 side-by-side diff with in-line comments
Download patch
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();
+}

Powered by Google App Engine
This is Rietveld 408576698