[jbossws-commits] JBossWS SVN: r15947 - shared-testsuite/trunk/src/main/java/org/jboss/wsf/test.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Wed Mar 14 11:03:23 EDT 2012
Author: ropalka
Date: 2012-03-14 11:03:22 -0400 (Wed, 14 Mar 2012)
New Revision: 15947
Modified:
shared-testsuite/trunk/src/main/java/org/jboss/wsf/test/AppclientHelper.java
shared-testsuite/trunk/src/main/java/org/jboss/wsf/test/JBossWSTestHelper.java
Log:
[JBWS-3458] fixing appclient framework to be IPv6 compatible
Modified: shared-testsuite/trunk/src/main/java/org/jboss/wsf/test/AppclientHelper.java
===================================================================
--- shared-testsuite/trunk/src/main/java/org/jboss/wsf/test/AppclientHelper.java 2012-03-14 15:02:46 UTC (rev 15946)
+++ shared-testsuite/trunk/src/main/java/org/jboss/wsf/test/AppclientHelper.java 2012-03-14 15:03:22 UTC (rev 15947)
@@ -119,7 +119,14 @@
args.add(appclientArg);
}
}
- ap.process = new ProcessBuilder().command(args).start();
+ final ProcessBuilder pb = new ProcessBuilder().command(args);
+ // always propagate IPv6 related properties
+ final StringBuilder javaOptsValue = new StringBuilder();
+ javaOptsValue.append("\"-Djboss.bind.address=").append(undoIPv6Brackets(System.getProperty("jboss.bind.address", "localhost"))).append("\" ");
+ javaOptsValue.append("\"-Djava.net.preferIPv4Stack=").append(System.getProperty("java.net.preferIPv4Stack", "true")).append("\" ");
+ javaOptsValue.append("\"-Djava.net.preferIPv6Addresses=").append(System.getProperty("java.net.preferIPv6Addresses", "false")).append("\" ");
+ pb.environment().put("JAVA_OPTS", javaOptsValue.toString());
+ ap.process = pb.start();
ap.log = new FileOutputStream(new File(getAppclientOutputDir(), appclientShortName + ".log-" + System.currentTimeMillis()));
// appclient out
ap.outTask = new CopyJob(ap.process.getInputStream(),
@@ -132,6 +139,11 @@
return ap;
}
+ private static String undoIPv6Brackets(final String s)
+ {
+ return s.startsWith("[") ? s.substring(1, s.length() - 1) : s;
+ }
+
private static void shutdownAppclient(final String archive, final OutputStream os) throws IOException, InterruptedException
{
final File killFile = new File(getKillFileName(archive));
Modified: shared-testsuite/trunk/src/main/java/org/jboss/wsf/test/JBossWSTestHelper.java
===================================================================
--- shared-testsuite/trunk/src/main/java/org/jboss/wsf/test/JBossWSTestHelper.java 2012-03-14 15:02:46 UTC (rev 15946)
+++ shared-testsuite/trunk/src/main/java/org/jboss/wsf/test/JBossWSTestHelper.java 2012-03-14 15:03:22 UTC (rev 15947)
@@ -207,6 +207,21 @@
{
try
{
+ if (host.startsWith(":"))
+ {
+ throw new IllegalArgumentException("JBossWS test suite requires IPv6 addresses to be wrapped with [] brackets. Expected format is: [" + host + "]");
+ }
+ if (host.startsWith("["))
+ {
+ if (System.getProperty("java.net.preferIPv4Stack") == null)
+ {
+ throw new IllegalStateException("always provide java.net.preferIPv4Stack JVM property when using IPv6 address format");
+ }
+ if (System.getProperty("java.net.preferIPv6Addresses") == null)
+ {
+ throw new IllegalStateException("always provide java.net.preferIPv6Addresses JVM property when using IPv6 address format");
+ }
+ }
final boolean isIPv6Address = InetAddress.getByName(host) instanceof Inet6Address;
final boolean isIPv6Formatted = isIPv6Address && host.startsWith("[");
return isIPv6Address && !isIPv6Formatted ? "[" + host + "]" : host;
More information about the jbossws-commits
mailing list