8004925: java/net/Socks/SocksV4Test.java failing on all platforms
authorchegar
Thu, 13 Dec 2012 09:55:55 +0000
changeset 14782 226059d7b730
parent 14781 701d0765f75f
child 14783 2ecc993a8e67
child 14784 37b3f525004f
8004925: java/net/Socks/SocksV4Test.java failing on all platforms Reviewed-by: alanb, dsamersoff
jdk/test/java/net/Socks/SocksV4Test.java
--- a/jdk/test/java/net/Socks/SocksV4Test.java	Wed Dec 12 20:57:45 2012 -0500
+++ b/jdk/test/java/net/Socks/SocksV4Test.java	Thu Dec 13 09:55:55 2012 +0000
@@ -26,20 +26,26 @@
  * @bug 4727547
  * @summary SocksSocketImpl throws NullPointerException
  * @build SocksServer
- * @run main SocksV4Test
  */
 
 import java.net.*;
 
 public class SocksV4Test {
+
+    // An unresolvable host
+    static final String HOSTNAME = "doesnot.exist.invalid";
+
     public static void main(String[] args) throws Exception {
+        // sanity before running the test
+        assertUnresolvableHost(HOSTNAME);
+
         // Create a SOCKS V4 proxy
         SocksServer srvr = new SocksServer(0, true);
         srvr.start();
         Proxy sp = new Proxy(Proxy.Type.SOCKS,
                              new InetSocketAddress("localhost", srvr.getPort()));
         // Let's create an unresolved address
-        InetSocketAddress ad = new InetSocketAddress("doesnt.exist.name", 1234);
+        InetSocketAddress ad = new InetSocketAddress(HOSTNAME, 1234);
         try (Socket s = new Socket(sp)) {
             s.connect(ad, 10000);
         } catch (UnknownHostException ex) {
@@ -51,4 +57,15 @@
             srvr.terminate();
         }
     }
+
+    static void assertUnresolvableHost(String host) {
+        InetAddress addr = null;
+        try {
+            addr = InetAddress.getByName(host);
+        } catch (UnknownHostException x) {
+            // OK, expected
+        }
+        if (addr != null)
+            throw new RuntimeException("Test cannot run. resolvable address:" + addr);
+    }
 }