You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2016/09/08 20:29:48 UTC

logging-log4j2 git commit: Try to fix test on Jenkins by waiting a little longer for messages to come. Refactor this waiting in a new ListAppender method.

Repository: logging-log4j2
Updated Branches:
  refs/heads/master 86a037ffc -> bdd0e3623


Try to fix test on Jenkins by waiting a little longer for messages to
come. Refactor this waiting in a new ListAppender method.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/bdd0e362
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/bdd0e362
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/bdd0e362

Branch: refs/heads/master
Commit: bdd0e36237a8a30d46b814961140a08181a34ad1
Parents: 86a037f
Author: Gary Gregory <gg...@apache.org>
Authored: Thu Sep 8 13:29:45 2016 -0700
Committer: Gary Gregory <gg...@apache.org>
Committed: Thu Sep 8 13:29:45 2016 -0700

----------------------------------------------------------------------
 .../logging/log4j/core/appender/AsyncAppenderTest.java   |  9 ++++-----
 .../apache/logging/log4j/test/appender/ListAppender.java | 11 +++++++++++
 2 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/bdd0e362/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
index 8031909..601ddb5 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
@@ -17,6 +17,7 @@
 package org.apache.logging.log4j.core.appender;
 
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -38,7 +39,7 @@ import static org.junit.Assert.*;
 @RunWith(Parameterized.class)
 public class AsyncAppenderTest {
 
-    private static final int SLEEP_MILLIS = 100;
+    private static final int TIMEOUT_MILLIS = 1000;
 
     @Parameterized.Parameters(name = "{0}")
     public static Object[] data() {
@@ -77,8 +78,7 @@ public class AsyncAppenderTest {
         final Logger logger = LogManager.getLogger(AsyncAppender.class);
         logger.error("This is a test");
         logger.warn("Hello world!");
-        Thread.sleep(SLEEP_MILLIS);
-        final List<String> list = listAppender.getMessages();
+        final List<String> list = listAppender.getMessages(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
         assertNotNull("No events generated", list);
         assertTrue("Incorrect number of events. Expected 2, got " + list.size(), list.size() == 2);
         String msg = list.get(0);
@@ -95,8 +95,7 @@ public class AsyncAppenderTest {
         final Exception parent = new IllegalStateException("Test");
         final Throwable child = new LoggingException("This is a test", parent);
         logger.error("This is a test", child);
-        Thread.sleep(SLEEP_MILLIS);
-        final List<String> list = listAppender.getMessages();
+        final List<String> list = listAppender.getMessages(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
         assertNotNull("No events generated", list);
         assertTrue("Incorrect number of events. Expected 1, got " + list.size(), list.size() == 1);
         final String msg = list.get(0);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/bdd0e362/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
index 6ecf5c3..68ee55d 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
@@ -174,6 +174,17 @@ public class ListAppender extends AbstractAppender {
         return Collections.unmodifiableList(messages);
     }
 
+    /**
+     * Polls the messages for at most timeout timeUnits and return a copy of what we have so far. 
+     */
+    public List<String> getMessages(long timeout, TimeUnit timeUnit) throws InterruptedException {
+        final long endMillis = System.currentTimeMillis() + timeUnit.toMillis(timeout);
+        while (messages.isEmpty() && System.currentTimeMillis() < endMillis) {
+            Thread.sleep(100);
+        }
+        return Collections.unmodifiableList(messages);
+    }
+
     public synchronized List<byte[]> getData() {
         return Collections.unmodifiableList(data);
     }