< prev index next >

test/java/net/InetAddress/CheckJNI.java

Print this page

        

*** 22,36 **** --- 22,40 ---- */ /* @test @bug 4889870 4890033 @summary java -Xcheck:jni failing in net code on Solaris / [Datagram]Socket.getLocalAddress() failure + @library /lib/testlibrary + @build jdk.testlibrary.NetworkConfiguration @run main/othervm -Xcheck:jni CheckJNI */ import java.net.*; import java.util.*; + import java.util.stream.Collectors; + import jdk.testlibrary.NetworkConfiguration; public class CheckJNI { static Socket s; static ServerSocket server; static DatagramSocket dg1, dg2;
*** 47,82 **** System.out.println ("Testing IPv4 DatagramSocket"); dg1 = new DatagramSocket (0, InetAddress.getByName ("127.0.0.1")); dg2 = new DatagramSocket (0, InetAddress.getByName ("127.0.0.1")); testDatagrams (dg1, dg2); ! /* Use NetworkInterface to find link local IPv6 addrs to test */ ! ! Enumeration ifs = NetworkInterface.getNetworkInterfaces(); ! server = new ServerSocket (0); ! ! while (ifs.hasMoreElements()) { ! NetworkInterface nif = (NetworkInterface)ifs.nextElement(); ! if (!nif.isUp()) ! continue; ! Enumeration addrs = nif.getInetAddresses(); ! while (addrs.hasMoreElements()) { ! InetAddress addr = (InetAddress) addrs.nextElement(); ! if (addr instanceof Inet6Address) { ! Inet6Address ia6 = (Inet6Address) addr; ! if (ia6.isLinkLocalAddress()) { ! System.out.println ("Testing IPv6 Socket"); ! s = new Socket (ia6, server.getLocalPort()); s.close(); ! System.out.println ("Testing IPv6 DatagramSocket"); ! dg1 = new DatagramSocket (0, ia6); ! dg2 = new DatagramSocket (0, ia6); ! testDatagrams (dg1, dg2); ! } ! } ! } } server.close(); System.out.println ("OK"); } --- 51,77 ---- System.out.println ("Testing IPv4 DatagramSocket"); dg1 = new DatagramSocket (0, InetAddress.getByName ("127.0.0.1")); dg2 = new DatagramSocket (0, InetAddress.getByName ("127.0.0.1")); testDatagrams (dg1, dg2); ! /* Find link local IPv6 addrs to test */ ! List<Inet6Address> addrs = NetworkConfiguration.probe() ! .ip6Addresses() ! .filter(Inet6Address::isLinkLocalAddress) ! .collect(Collectors.toList()); ! ! server = new ServerSocket(0); ! for (Inet6Address ia6 : addrs) { ! System.out.println("Address:" + ia6); ! System.out.println("Testing IPv6 Socket"); ! s = new Socket(ia6, server.getLocalPort()); s.close(); ! System.out.println("Testing IPv6 DatagramSocket"); ! dg1 = new DatagramSocket(0, ia6); ! dg2 = new DatagramSocket(0, ia6); ! testDatagrams(dg1, dg2); } server.close(); System.out.println ("OK"); }
< prev index next >