diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java index 53cdc3665b..a90e9b192e 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java @@ -22,6 +22,8 @@ import io.netty.logging.InternalLoggerFactory; import io.netty.testsuite.transport.socket.SocketTestPermutation.Factory; import io.netty.testsuite.util.TestUtils; import io.netty.util.NetworkConstants; +import org.junit.Rule; +import org.junit.rules.TestName; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -29,9 +31,6 @@ import java.net.InetSocketAddress; import java.util.List; import java.util.Map.Entry; -import org.junit.Rule; -import org.junit.rules.TestName; - public abstract class AbstractDatagramTest { private static final List, Factory>> COMBO = @@ -57,7 +56,7 @@ public abstract class AbstractDatagramTest { cb.localAddress(0).remoteAddress(addr); logger.info(String.format( - "Running: %s %d of %d", testName.getMethodName(), ++ i, COMBO.size())); + "Running: %s %d of %d (%s + %s)", testName.getMethodName(), ++ i, COMBO.size(), sb, cb)); try { Method m = getClass().getDeclaredMethod( testName.getMethodName(), AbstractBootstrap.class, AbstractBootstrap.class); diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSctpTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSctpTest.java index 45ec98aa41..8d3c829656 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSctpTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSctpTest.java @@ -58,7 +58,7 @@ public abstract class AbstractSctpTest { cb.remoteAddress(addr); logger.info(String.format( - "Running: %s %d of %d", testName.getMethodName(), ++ i, COMBO.size())); + "Running: %s %d of %d (%s + %s)", testName.getMethodName(), ++ i, COMBO.size(), sb, cb)); try { Method m = getClass().getDeclaredMethod( testName.getMethodName(), ServerBootstrap.class, Bootstrap.class); diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractServerSocketTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractServerSocketTest.java index 5e3cc1db1b..5d03996f1b 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractServerSocketTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractServerSocketTest.java @@ -21,15 +21,14 @@ import io.netty.logging.InternalLoggerFactory; import io.netty.testsuite.transport.socket.SocketTestPermutation.Factory; import io.netty.testsuite.util.TestUtils; import io.netty.util.NetworkConstants; +import org.junit.Rule; +import org.junit.rules.TestName; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.InetSocketAddress; import java.util.List; -import org.junit.Rule; -import org.junit.rules.TestName; - public abstract class AbstractServerSocketTest { private static final List> COMBO = SocketTestPermutation.serverSocket(); @@ -51,7 +50,7 @@ public abstract class AbstractServerSocketTest { sb.localAddress(addr); logger.info(String.format( - "Running: %s %d of %d", testName.getMethodName(), ++ i, COMBO.size())); + "Running: %s %d of %d (%s)", testName.getMethodName(), ++ i, COMBO.size(), sb)); try { Method m = getClass().getDeclaredMethod( testName.getMethodName(), ServerBootstrap.class); diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSocketTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSocketTest.java index 5651235d34..3867621888 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSocketTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSocketTest.java @@ -22,6 +22,8 @@ import io.netty.logging.InternalLoggerFactory; import io.netty.testsuite.transport.socket.SocketTestPermutation.Factory; import io.netty.testsuite.util.TestUtils; import io.netty.util.NetworkConstants; +import org.junit.Rule; +import org.junit.rules.TestName; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -29,9 +31,6 @@ import java.net.InetSocketAddress; import java.util.List; import java.util.Map.Entry; -import org.junit.Rule; -import org.junit.rules.TestName; - public abstract class AbstractSocketTest { private static final List, Factory>> COMBO = @@ -59,7 +58,7 @@ public abstract class AbstractSocketTest { cb.remoteAddress(addr); logger.info(String.format( - "Running: %s %d of %d", testName.getMethodName(), ++ i, COMBO.size())); + "Running: %s %d of %d (%s + %s)", testName.getMethodName(), ++ i, COMBO.size(), sb, cb)); try { Method m = getClass().getDeclaredMethod( testName.getMethodName(), ServerBootstrap.class, Bootstrap.class); diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/SocketTestPermutation.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/SocketTestPermutation.java index 4ed151b786..2f1a37019a 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/SocketTestPermutation.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/SocketTestPermutation.java @@ -25,10 +25,10 @@ import io.netty.channel.socket.aio.AioServerSocketChannel; import io.netty.channel.socket.aio.AioSocketChannel; import io.netty.channel.socket.nio.NioDatagramChannel; import io.netty.channel.socket.nio.NioEventLoopGroup; -import io.netty.channel.socket.nio.NioServerSocketChannel; -import io.netty.channel.socket.nio.NioSctpServerChannel; -import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.channel.socket.nio.NioSctpChannel; +import io.netty.channel.socket.nio.NioSctpServerChannel; +import io.netty.channel.socket.nio.NioServerSocketChannel; +import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.channel.socket.oio.OioDatagramChannel; import io.netty.channel.socket.oio.OioEventLoopGroup; import io.netty.channel.socket.oio.OioServerSocketChannel; @@ -97,6 +97,11 @@ final class SocketTestPermutation { public Channel newChannel() { return new NioDatagramChannel(InternetProtocolFamily.IPv4); } + + @Override + public String toString() { + return NioDatagramChannel.class.getSimpleName() + ".class"; + } }); } }); @@ -188,13 +193,7 @@ final class SocketTestPermutation { public ServerBootstrap newInstance() { final AioEventLoopGroup parentGroup = new AioEventLoopGroup(); final AioEventLoopGroup childGroup = new AioEventLoopGroup(); - return new ServerBootstrap().group(parentGroup, childGroup).channelFactory(new ChannelFactory() { - - @Override - public Channel newChannel() { - return new AioServerSocketChannel(parentGroup, childGroup); - } - }); + return new ServerBootstrap().group(parentGroup, childGroup).channel(AioServerSocketChannel.class); } }); list.add(new Factory() { @@ -221,12 +220,7 @@ final class SocketTestPermutation { @Override public Bootstrap newInstance() { final AioEventLoopGroup loop = new AioEventLoopGroup(); - return new Bootstrap().group(loop).channelFactory(new ChannelFactory() { - @Override - public Channel newChannel() { - return new AioSocketChannel(loop); - } - }); + return new Bootstrap().group(loop).channel(AioSocketChannel.class); } }); list.add(new Factory() { diff --git a/transport/src/main/java/io/netty/bootstrap/AbstractBootstrap.java b/transport/src/main/java/io/netty/bootstrap/AbstractBootstrap.java index 7caca3761c..8cd5c05520 100644 --- a/transport/src/main/java/io/netty/bootstrap/AbstractBootstrap.java +++ b/transport/src/main/java/io/netty/bootstrap/AbstractBootstrap.java @@ -247,6 +247,49 @@ public abstract class AbstractBootstrap> { return attrs; } + public String toString() { + StringBuilder buf = new StringBuilder(); + buf.append(getClass().getSimpleName()); + buf.append('('); + if (group != null) { + buf.append("group: "); + buf.append(group.getClass().getSimpleName()); + buf.append(", "); + } + if (factory != null) { + buf.append("factory: "); + buf.append(factory); + buf.append(", "); + } + if (localAddress != null) { + buf.append("localAddress: "); + buf.append(localAddress); + buf.append(", "); + } + if (options != null && !options.isEmpty()) { + buf.append("options: "); + buf.append(options); + buf.append(", "); + } + if (attrs != null && !attrs.isEmpty()) { + buf.append("attrs: "); + buf.append(attrs); + buf.append(", "); + } + if (handler != null) { + buf.append("handler: "); + buf.append(handler); + buf.append(", "); + } + if (buf.charAt(buf.length() - 1) == '(') { + buf.append(')'); + } else { + buf.setCharAt(buf.length() - 2, ')'); + buf.setLength(buf.length() - 1); + } + return buf.toString(); + } + private static final class BootstrapChannelFactory implements ChannelFactory { private final Class clazz; @@ -263,6 +306,9 @@ public abstract class AbstractBootstrap> { } } + public String toString() { + return clazz.getSimpleName() + ".class"; + } } /** diff --git a/transport/src/main/java/io/netty/bootstrap/Bootstrap.java b/transport/src/main/java/io/netty/bootstrap/Bootstrap.java index fe1a0b52b6..1a782200ef 100644 --- a/transport/src/main/java/io/netty/bootstrap/Bootstrap.java +++ b/transport/src/main/java/io/netty/bootstrap/Bootstrap.java @@ -191,10 +191,30 @@ public class Bootstrap extends AbstractBootstrap { return super.channel(channelClass); } + @Override + public String toString() { + if (remoteAddress == null) { + return super.toString(); + } + + StringBuilder buf = new StringBuilder(super.toString()); + buf.setLength(buf.length() - 1); + buf.append(", remoteAddress: "); + buf.append(remoteAddress); + buf.append(')'); + + return buf.toString(); + } + private final class AioSocketChannelFactory implements ChannelFactory { @Override public Channel newChannel() { return new AioSocketChannel((AioEventLoopGroup) group()); } + + @Override + public String toString() { + return AioSocketChannel.class.getSimpleName() + ".class"; + } } } diff --git a/transport/src/main/java/io/netty/bootstrap/ServerBootstrap.java b/transport/src/main/java/io/netty/bootstrap/ServerBootstrap.java index 96432c5a78..551d2983c6 100644 --- a/transport/src/main/java/io/netty/bootstrap/ServerBootstrap.java +++ b/transport/src/main/java/io/netty/bootstrap/ServerBootstrap.java @@ -271,6 +271,41 @@ public class ServerBootstrap extends AbstractBootstrap { } } + @Override + public String toString() { + StringBuilder buf = new StringBuilder(super.toString()); + buf.setLength(buf.length() - 1); + buf.append(", "); + if (childGroup != null) { + buf.append("childGroup: "); + buf.append(childGroup.getClass().getSimpleName()); + buf.append(", "); + } + if (childOptions != null && !childOptions.isEmpty()) { + buf.append("childOptions: "); + buf.append(childOptions); + buf.append(", "); + } + if (childAttrs != null && !childAttrs.isEmpty()) { + buf.append("childAttrs: "); + buf.append(childAttrs); + buf.append(", "); + } + if (childHandler != null) { + buf.append("childHandler: "); + buf.append(childHandler); + buf.append(", "); + } + if (buf.charAt(buf.length() - 1) == '(') { + buf.append(')'); + } else { + buf.setCharAt(buf.length() - 2, ')'); + buf.setLength(buf.length() - 1); + } + + return buf.toString(); + } + private final class AioServerSocketChannelFactory implements ChannelFactory { @Override public Channel newChannel() {