< prev index next >

test/java/net/Socket/LinkLocal.java

Print this page
rev 14513 : 8177536: Avoid Apple Peer-to-Peer interfaces in networking tests
Reviewed-by: michaelm, rriggs

@@ -24,13 +24,19 @@
 /*
  * @test
  * @bug 4469866
  * @summary Connecting to a link-local IPv6 address should not
  *          causes a SocketException to be thrown.
+ * @library /lib/testlibrary
+ * @build jdk.testlibrary.NetworkConfiguration
+ * @run main LinkLocal
  */
+import jdk.testlibrary.NetworkConfiguration;
+
 import java.net.*;
-import java.util.Enumeration;
+import java.util.List;
+import java.util.stream.Collectors;
 
 public class LinkLocal {
 
     static int testCount = 0;
     static int failed = 0;

@@ -132,28 +138,19 @@
          * If no argument is provided then enumerate the
          * local addresses and run the test on each link-local
          * IPv6 address.
          */
         if (args.length == 0) {
-            Enumeration nifs = NetworkInterface.getNetworkInterfaces();
-            while (nifs.hasMoreElements()) {
-                NetworkInterface ni = (NetworkInterface)nifs.nextElement();
-                if (!ni.isUp())
-                    continue;
-
-                Enumeration addrs = ni.getInetAddresses();
-                while (addrs.hasMoreElements()) {
-                    InetAddress addr = (InetAddress)addrs.nextElement();
-
-                    if (addr instanceof Inet6Address &&
-                        addr.isLinkLocalAddress()) {
+            List<Inet6Address> addrs = NetworkConfiguration.probe()
+                    .ip6Addresses()
+                    .filter(Inet6Address::isLinkLocalAddress)
+                    .collect(Collectors.toList());
 
+            for (Inet6Address addr : addrs) {
                         TestAddress(addr);
                     }
                 }
-            }
-        }
 
         /*
          * Print results
          */
         if (testCount == 0) {
< prev index next >