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")

Reply via email to