From 4436f60e2f92cdcd86b42a95a3eb5e0955cb7064 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Tue, 10 Apr 2012 21:00:44 +0200 Subject: [PATCH] Workaround to have multicast tests work on osx, linux and windows --- .../transport/socket/AbstractDatagramMulticastTest.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramMulticastTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramMulticastTest.java index 15c5095f6e..673688e10d 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramMulticastTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramMulticastTest.java @@ -28,6 +28,7 @@ import io.netty.channel.socket.DatagramChannelFactory; import io.netty.testsuite.util.TestUtils; import io.netty.util.internal.ExecutorUtil; +import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.NetworkInterface; import java.util.concurrent.CountDownLatch; @@ -72,7 +73,13 @@ public abstract class AbstractDatagramMulticastTest { int port = TestUtils.getFreePort(); - NetworkInterface iface = NetworkInterface.getNetworkInterfaces().nextElement(); + NetworkInterface iface = NetworkInterface.getByInetAddress(InetAddress.getLocalHost()); + + // check if the NetworkInterface is null, this is the case on my ubuntu dev machine but not on osx and windows. + // if so fail back the the first interface + if (iface == null) { + iface = NetworkInterface.getByIndex(0); + } sb.setOption("networkInterface", iface); sb.setOption("reuseAddress", true);