Repository: logging-log4j2 Updated Branches: refs/heads/master 52631b31f -> 52e0761ee
Attempt to fix bind exception Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/52e0761e Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/52e0761e Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/52e0761e Branch: refs/heads/master Commit: 52e0761ee8e4f524ea211dda84b6da7d6f4e2ec9 Parents: 52631b3 Author: Ralph Goers <[email protected]> Authored: Sat Nov 18 17:58:53 2017 -0700 Committer: Ralph Goers <[email protected]> Committed: Sat Nov 18 17:58:53 2017 -0700 ---------------------------------------------------------------------- .../log4j/core/appender/SocketAppenderTest.java | 10 ++++++ .../log4j/core/appender/SyslogAppenderTest.java | 34 +++++++++++++++----- 2 files changed, 36 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/52e0761e/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java index 1d43481..8aee640 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java @@ -301,6 +301,11 @@ public class SocketAppenderTest { public void shutdown() { this.shutdown = true; thread.interrupt(); + try { + thread.join(100); + } catch (InterruptedException ie) { + System.out.println("Unable to stop server"); + } } @Override @@ -363,6 +368,11 @@ public class SocketAppenderTest { public void shutdown() { this.shutdown = true; interrupt(); + try { + this.join(100); + } catch (InterruptedException ie) { + System.out.println("Unable to stop server"); + } } @Override http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/52e0761e/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTest.java index 741a51f..f034b0f 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTest.java @@ -17,6 +17,7 @@ package org.apache.logging.log4j.core.appender; import java.io.IOException; +import java.net.BindException; import java.net.SocketException; import org.apache.logging.log4j.core.appender.SyslogAppender.Builder; @@ -47,6 +48,7 @@ public class SyslogAppenderTest extends SyslogAppenderTestBase { if (syslogServer != null) { syslogServer.shutdown(); } + syslogServer = null; } @Test @@ -93,30 +95,46 @@ public class SyslogAppenderTest extends SyslogAppenderTestBase { protected void initUDPTestEnvironment(final String messageFormat) throws SocketException { syslogServer = MockSyslogServerFactory.createUDPSyslogServer(1, PORTNUM); syslogServer.start(); - initAppender("udp", messageFormat); + initAppender("udp", messageFormat, PORTNUM); } protected void initTCPTestEnvironment(final String messageFormat) throws IOException { - syslogServer = MockSyslogServerFactory.createTCPSyslogServer(1, PORTNUM); + int port = PORTNUM; + while (syslogServer == null) { + try { + syslogServer = MockSyslogServerFactory.createTCPSyslogServer(1, port); + } catch (BindException be) { + ++port; + if (port > 65535) { + throw be; + } + } + } + syslogServer.start(); - initAppender("tcp", messageFormat); + initAppender("tcp", messageFormat, port); } - protected void initAppender(final String transportFormat, final String messageFormat) { - appender = createAppender(transportFormat, messageFormat); + protected void initAppender(final String transportFormat, final String messageFormat, int port) { + appender = createAppender(transportFormat, messageFormat, port); validate(appender); appender.start(); initRootLogger(appender); } - protected SyslogAppender createAppender(final String protocol, final String format) { - return newSyslogAppenderBuilder(protocol, format, includeNewLine).build(); + protected SyslogAppender createAppender(final String protocol, final String format, int port) { + return newSyslogAppenderBuilder(protocol, format, includeNewLine, port).build(); } protected Builder newSyslogAppenderBuilder(final String protocol, final String format, final boolean newLine) { + return newSyslogAppenderBuilder(protocol, format, newLine, PORTNUM); + } + + protected Builder newSyslogAppenderBuilder(final String protocol, final String format, final boolean newLine, + int port) { // @formatter:off return SyslogAppender.newSyslogAppenderBuilder() - .withPort(PORTNUM) + .withPort(port) .withProtocol(EnglishEnums.valueOf(Protocol.class, protocol)) .withReconnectDelayMillis(-1) .withName("TestApp")
