test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java

Print this page

        

*** 31,98 **** * @library ../../../../testlibrary * @build TestLibrary RMID JavaVM Echo EchoImpl EchoImpl_Stub * @run main/othervm/policy=security.policy/timeout=120 UseCustomSocketFactory */ ! import java.io.*; import java.rmi.*; - import java.rmi.server.*; import java.rmi.registry.*; public class UseCustomSocketFactory { public static void main(String[] args) { int registryPort = -1; ! String[] protocol = new String[] { "", "compress", "xor" }; System.out.println("\nRegression test for bug 4127826\n"); TestLibrary.suggestSecurityManager("java.rmi.RMISecurityManager"); try { Registry registry = TestLibrary.createRegistryOnUnusedPort(); registryPort = TestLibrary.getRegistryPort(registry); ! } catch (Exception e) { TestLibrary.bomb("creating registry", e); } ! ! for (int i = 0; i < protocol.length; i++) { ! System.err.println("test policy: " + TestParams.defaultPolicy); ! ! JavaVM serverVM = new JavaVM("EchoImpl", ! "-Djava.security.policy=" + TestParams.defaultPolicy + " -Drmi.registry.port=" + ! registryPort, ! protocol[i]); System.err.println("\nusing protocol: " + ! (protocol[i] == "" ? "none" : protocol[i])); ! try { /* spawn VM for EchoServer */ serverVM.start(); /* lookup server */ - int tries = 8; Echo obj = null; do { try { obj = (Echo) Naming.lookup("//:" + registryPort + "/EchoServer"); break; } catch (NotBoundException e) { try { ! Thread.sleep(2000); ! } catch (Exception ignore) { } - continue; } ! } while (--tries > 0); if (obj == null) TestLibrary.bomb("server not bound in 8 tries", null); /* invoke remote method and print result*/ --- 31,92 ---- * @library ../../../../testlibrary * @build TestLibrary RMID JavaVM Echo EchoImpl EchoImpl_Stub * @run main/othervm/policy=security.policy/timeout=120 UseCustomSocketFactory */ ! import java.io.IOException; ! import java.net.MalformedURLException; import java.rmi.*; import java.rmi.registry.*; public class UseCustomSocketFactory { public static void main(String[] args) { int registryPort = -1; ! String[] protocols = new String[] { "", "compress", "xor" }; System.out.println("\nRegression test for bug 4127826\n"); TestLibrary.suggestSecurityManager("java.rmi.RMISecurityManager"); try { Registry registry = TestLibrary.createRegistryOnUnusedPort(); registryPort = TestLibrary.getRegistryPort(registry); ! } catch (RemoteException e) { TestLibrary.bomb("creating registry", e); } ! for (String protocol : protocols) { System.err.println("test policy: " + TestParams.defaultPolicy); ! JavaVM serverVM = new JavaVM("EchoImpl", "-Djava.security.policy=" + TestParams.defaultPolicy + " -Drmi.registry.port=" + ! registryPort, protocol); System.err.println("\nusing protocol: " + ! ("".equals(protocol) ? "none" : protocol)); try { /* spawn VM for EchoServer */ serverVM.start(); /* lookup server */ Echo obj = null; + // 16 seconds timeout + long stopTime = System.currentTimeMillis() + 16000; do { try { obj = (Echo) Naming.lookup("//:" + registryPort + "/EchoServer"); break; } catch (NotBoundException e) { try { ! Thread.sleep(200); ! } catch (InterruptedException ignore) { } } ! } while (System.currentTimeMillis() < stopTime); if (obj == null) TestLibrary.bomb("server not bound in 8 tries", null); /* invoke remote method and print result*/
*** 102,120 **** byte[] result = obj.echoNot(data); for (int j = 0; j < result.length; j++) result[j] = (byte) ~result[j]; System.err.println("Result: " + new String(result)); ! } catch (Exception e) { TestLibrary.bomb("test failed", e); } finally { serverVM.destroy(); try { Naming.unbind("//:" + registryPort + "/EchoServer"); ! } catch (Exception e) { TestLibrary.bomb("unbinding EchoServer", e); } } } --- 96,114 ---- byte[] result = obj.echoNot(data); for (int j = 0; j < result.length; j++) result[j] = (byte) ~result[j]; System.err.println("Result: " + new String(result)); ! } catch (IOException e) { TestLibrary.bomb("test failed", e); } finally { serverVM.destroy(); try { Naming.unbind("//:" + registryPort + "/EchoServer"); ! } catch (RemoteException | NotBoundException | MalformedURLException e) { TestLibrary.bomb("unbinding EchoServer", e); } } }