Merge "Skip multicast test if it is not supported"
diff --git a/luni/src/test/java/libcore/java/nio/channels/DatagramChannelMulticastTest.java b/luni/src/test/java/libcore/java/nio/channels/DatagramChannelMulticastTest.java
index ae45c0d..69110e0 100644
--- a/luni/src/test/java/libcore/java/nio/channels/DatagramChannelMulticastTest.java
+++ b/luni/src/test/java/libcore/java/nio/channels/DatagramChannelMulticastTest.java
@@ -711,6 +711,9 @@
 
     /** Checks that block() works when the receiver is bound to the multicast group address */
     public void test_block_filtersAsExpected_groupBind_ipv4() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv4LocalAddress = getLocalIpv4Address(ipv4NetworkInterface);
         test_block_filtersAsExpected(
                 ipv4LocalAddress /* senderBindAddress */,
@@ -721,6 +724,9 @@
 
     /** Checks that block() works when the receiver is bound to the multicast group address */
     public void test_block_filtersAsExpected_groupBind_ipv6() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv6LocalAddress = getLocalIpv6Address(ipv6NetworkInterface);
         test_block_filtersAsExpected(
                 ipv6LocalAddress /* senderBindAddress */,
@@ -731,6 +737,9 @@
 
     /** Checks that block() works when the receiver is bound to the "any" address */
     public void test_block_filtersAsExpected_anyBind_ipv4() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv4LocalAddress = getLocalIpv4Address(ipv4NetworkInterface);
         test_block_filtersAsExpected(
                 ipv4LocalAddress /* senderBindAddress */,
@@ -741,6 +750,9 @@
 
     /** Checks that block() works when the receiver is bound to the "any" address */
     public void test_block_filtersAsExpected_anyBind_ipv6() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv6LocalAddress = getLocalIpv6Address(ipv6NetworkInterface);
         test_block_filtersAsExpected(
                 ipv6LocalAddress /* senderBindAddress */,
@@ -753,9 +765,6 @@
             InetAddress senderBindAddress, InetAddress receiverBindAddress,
             InetAddress groupAddress, NetworkInterface networkInterface)
             throws Exception {
-        if (!supportsMulticast) {
-            return;
-        }
         DatagramChannel sendingChannel = DatagramChannel.open();
         // In order to block a sender the sender's address must be known. The sendingChannel is
         // explicitly bound to a known, non-loopback address.
@@ -973,6 +982,9 @@
      * address
      */
     public void test_joinSourceSpecific_null() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv4LocalAddress = getLocalIpv4Address(ipv4NetworkInterface);
         test_joinSourceSpecific(
                 ipv4LocalAddress /* senderBindAddress */,
@@ -987,6 +999,9 @@
      * address
      */
     public void test_joinSourceSpecific_groupBind_ipv4() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv4LocalAddress = getLocalIpv4Address(ipv4NetworkInterface);
         test_joinSourceSpecific(
                 ipv4LocalAddress /* senderBindAddress */,
@@ -1001,6 +1016,9 @@
      * address
      */
     public void test_joinSourceSpecific_groupBind_ipv6() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv6LocalAddress = getLocalIpv6Address(ipv6NetworkInterface);
         test_joinSourceSpecific(
                 ipv6LocalAddress /* senderBindAddress */,
@@ -1012,6 +1030,9 @@
 
     /** Checks that a source-specific join() works when the receiver is bound to the "any" address */
     public void test_joinSourceSpecific_anyBind_ipv4() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv4LocalAddress = getLocalIpv4Address(ipv4NetworkInterface);
         test_joinSourceSpecific(
                 ipv4LocalAddress /* senderBindAddress */,
@@ -1023,6 +1044,9 @@
 
     /** Checks that a source-specific join() works when the receiver is bound to the "any" address */
     public void test_joinSourceSpecific_anyBind_ipv6() throws Exception {
+        if (!supportsMulticast) {
+            return;
+        }
         InetAddress ipv6LocalAddress = getLocalIpv6Address(ipv6NetworkInterface);
         test_joinSourceSpecific(
                 ipv6LocalAddress /* senderBindAddress */,
@@ -1044,9 +1068,6 @@
             InetAddress senderBindAddress, InetAddress receiverBindAddress, InetAddress groupAddress,
             InetAddress badSenderAddress, NetworkInterface networkInterface)
             throws Exception {
-        if (!supportsMulticast) {
-            return;
-        }
         DatagramChannel sendingChannel = DatagramChannel.open();
         // In order to be source-specific the sender's address must be known. The sendingChannel is
         // explicitly bound to a known, non-loopback address.