diff --git a/testsuite/src/main/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java b/testsuite/src/main/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java index 2d19f3da23..9c4a5f0d1e 100644 --- a/testsuite/src/main/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java +++ b/testsuite/src/main/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java @@ -18,6 +18,7 @@ package io.netty.testsuite.transport.socket; import io.netty.bootstrap.Bootstrap; import io.netty.buffer.ByteBufAllocator; import io.netty.channel.ChannelOption; +import io.netty.channel.socket.InternetProtocolFamily; import io.netty.testsuite.transport.AbstractComboTestsuiteTest; import io.netty.testsuite.transport.TestsuitePermutation; import io.netty.util.NetUtil; @@ -34,7 +35,7 @@ public abstract class AbstractDatagramTest extends AbstractComboTestsuiteTest> newFactories() { - return SocketTestPermutation.INSTANCE.datagram(); + return SocketTestPermutation.INSTANCE.datagram(InternetProtocolFamily.IPv4); } @Override @@ -44,11 +45,17 @@ public abstract class AbstractDatagramTest extends AbstractComboTestsuiteTest addressType) { + Enumeration addresses = NetUtil.LOOPBACK_IF.getInetAddresses(); + while (addresses.hasMoreElements()) { + if (addressType.isAssignableFrom(addresses.nextElement().getClass())) { + return true; + } + } + return false; + } + + @Override + protected List> newFactories() { + return SocketTestPermutation.INSTANCE.datagram(internetProtocolFamily()); + } } diff --git a/testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketTestPermutation.java b/testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketTestPermutation.java index 3af9b7ed01..18286489e5 100644 --- a/testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketTestPermutation.java +++ b/testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketTestPermutation.java @@ -100,13 +100,13 @@ public class SocketTestPermutation { return combo(sbfs, cbfs); } - public List> datagram() { + public List> datagram(final InternetProtocolFamily family) { // Make the list of Bootstrap factories. List> bfs = Collections.singletonList( () -> new Bootstrap().group(nioWorkerGroup).channelFactory(new ChannelFactory() { @Override public Channel newChannel(EventLoop eventLoop) { - return new NioDatagramChannel(eventLoop, InternetProtocolFamily.IPv4); + return new NioDatagramChannel(eventLoop, family); } @Override diff --git a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollDatagramMulticastTest.java b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollDatagramMulticastTest.java index d807ed60c9..ce61b7ca6d 100644 --- a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollDatagramMulticastTest.java +++ b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollDatagramMulticastTest.java @@ -16,6 +16,7 @@ package io.netty.channel.epoll; import io.netty.bootstrap.Bootstrap; +import io.netty.channel.socket.InternetProtocolFamily; import io.netty.testsuite.transport.TestsuitePermutation; import io.netty.testsuite.transport.socket.DatagramMulticastTest; @@ -24,7 +25,7 @@ import java.util.List; public class EpollDatagramMulticastTest extends DatagramMulticastTest { @Override protected List> newFactories() { - return EpollSocketTestPermutation.INSTANCE.datagram(); + return EpollSocketTestPermutation.INSTANCE.datagram(InternetProtocolFamily.IPv4); } public void testMulticast(Bootstrap sb, Bootstrap cb) throws Throwable { diff --git a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollDatagramUnicastTest.java b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollDatagramUnicastTest.java index a8ed58ed25..9322a7d034 100644 --- a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollDatagramUnicastTest.java +++ b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollDatagramUnicastTest.java @@ -16,6 +16,7 @@ package io.netty.channel.epoll; import io.netty.bootstrap.Bootstrap; +import io.netty.channel.socket.InternetProtocolFamily; import io.netty.testsuite.transport.TestsuitePermutation; import io.netty.testsuite.transport.socket.DatagramUnicastTest; @@ -24,7 +25,7 @@ import java.util.List; public class EpollDatagramUnicastTest extends DatagramUnicastTest { @Override protected List> newFactories() { - return EpollSocketTestPermutation.INSTANCE.datagram(); + return EpollSocketTestPermutation.INSTANCE.datagram(InternetProtocolFamily.IPv4); } public void testSimpleSendWithConnect(Bootstrap sb, Bootstrap cb) throws Throwable { diff --git a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketTestPermutation.java b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketTestPermutation.java index ef47ec8426..2ba1b8f13a 100644 --- a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketTestPermutation.java +++ b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketTestPermutation.java @@ -99,14 +99,15 @@ class EpollSocketTestPermutation extends SocketTestPermutation { } @Override - public List> datagram() { + public List> datagram( + final InternetProtocolFamily family) { // Make the list of Bootstrap factories. @SuppressWarnings("unchecked") List> bfs = Arrays.asList( () -> new Bootstrap().group(nioWorkerGroup).channelFactory(new ChannelFactory() { @Override public Channel newChannel(EventLoop eventLoop) { - return new NioDatagramChannel(eventLoop, InternetProtocolFamily.IPv4); + return new NioDatagramChannel(eventLoop, family); } @Override diff --git a/transport-native-kqueue/src/test/java/io/netty/channel/kqueue/KQueueDatagramUnicastTest.java b/transport-native-kqueue/src/test/java/io/netty/channel/kqueue/KQueueDatagramUnicastTest.java index c805e9002e..282c4ab631 100644 --- a/transport-native-kqueue/src/test/java/io/netty/channel/kqueue/KQueueDatagramUnicastTest.java +++ b/transport-native-kqueue/src/test/java/io/netty/channel/kqueue/KQueueDatagramUnicastTest.java @@ -16,6 +16,7 @@ package io.netty.channel.kqueue; import io.netty.bootstrap.Bootstrap; +import io.netty.channel.socket.InternetProtocolFamily; import io.netty.testsuite.transport.TestsuitePermutation; import io.netty.testsuite.transport.socket.DatagramUnicastTest; @@ -24,6 +25,6 @@ import java.util.List; public class KQueueDatagramUnicastTest extends DatagramUnicastTest { @Override protected List> newFactories() { - return KQueueSocketTestPermutation.INSTANCE.datagram(); + return KQueueSocketTestPermutation.INSTANCE.datagram(InternetProtocolFamily.IPv4); } } diff --git a/transport-native-kqueue/src/test/java/io/netty/channel/kqueue/KQueueSocketTestPermutation.java b/transport-native-kqueue/src/test/java/io/netty/channel/kqueue/KQueueSocketTestPermutation.java index 65b854e422..d2ef2184ca 100644 --- a/transport-native-kqueue/src/test/java/io/netty/channel/kqueue/KQueueSocketTestPermutation.java +++ b/transport-native-kqueue/src/test/java/io/netty/channel/kqueue/KQueueSocketTestPermutation.java @@ -51,8 +51,6 @@ class KQueueSocketTestPermutation extends SocketTestPermutation { new MultithreadEventLoopGroup(WORKERS, new DefaultThreadFactory("testsuite-KQueue-worker", true), KQueueHandler.newFactory()); - private static final InternalLogger logger = InternalLoggerFactory.getInstance(KQueueSocketTestPermutation.class); - @Override public List> socket() { @@ -87,14 +85,15 @@ class KQueueSocketTestPermutation extends SocketTestPermutation { } @Override - public List> datagram() { + public List> datagram( + final InternetProtocolFamily family) { // Make the list of Bootstrap factories. @SuppressWarnings("unchecked") List> bfs = Arrays.asList( () -> new Bootstrap().group(nioWorkerGroup).channelFactory(new ChannelFactory() { @Override public Channel newChannel(EventLoop eventLoop) { - return new NioDatagramChannel(eventLoop, InternetProtocolFamily.IPv4); + return new NioDatagramChannel(eventLoop, family); } @Override