--- old/test/java/rmi/Naming/LookupIPv6.java 2014-01-25 17:11:03.977528783 +0800 +++ new/test/java/rmi/Naming/LookupIPv6.java 2014-01-25 17:10:53.887334068 +0800 @@ -25,7 +25,8 @@ * @summary Ensure that java.rmi.Naming.lookup can handle URLs containing * IPv6 addresses. * @bug 4402708 - * + * @library ../testlibrary + * @build TestLibrary * @run main/othervm -Djava.net.preferIPv6Addresses=true LookupIPv6 */ @@ -37,6 +38,7 @@ import java.rmi.registry.Registry; public class LookupIPv6 { + public static void main(String[] args) throws Exception { // use loopback IPv6 address to avoid lengthy socket connection delays String[] urls = { @@ -62,17 +64,18 @@ * an Inet6Address since this test is run with * -Djava.net.preferIPv6Addresses=true. */ + int port = TestLibrary.getUnusedRandomPort(); InetAddress localAddr = InetAddress.getAllByName(null)[0]; if (localAddr instanceof Inet6Address) { System.out.println("IPv6 detected"); Registry reg; try { - reg = LocateRegistry.createRegistry(Registry.REGISTRY_PORT); + reg = LocateRegistry.createRegistry(port); } catch (Exception ex) { reg = LocateRegistry.getRegistry(); } reg.rebind("foo", reg); - Naming.lookup("rmi://[" + localAddr.getHostAddress() + "]/foo"); + Naming.lookup(String.format("rmi://[%1$s]:%2$s/foo", localAddr.getHostAddress(),port)); } } }