You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2022/06/18 23:48:26 UTC

[logging-log4j2] 14/17: Make RollingAppenderDirectWriteWithReconfigureTest less sleepy

This is an automated email from the ASF dual-hosted git repository.

mattsicker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 53b99a7f8ffeecdb6c8e63a080aec244cbcae4ad
Author: Matt Sicker <ma...@apache.org>
AuthorDate: Sat Jun 18 18:26:41 2022 -0500

    Make RollingAppenderDirectWriteWithReconfigureTest less sleepy
    
    Relates to LOG4J2-2923.
    
    Signed-off-by: Matt Sicker <ma...@apache.org>
---
 ...lingAppenderDirectWriteWithReconfigureTest.java | 36 +++++++++-------------
 1 file changed, 15 insertions(+), 21 deletions(-)

diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteWithReconfigureTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteWithReconfigureTest.java
index ad5788c770..95ce08e4fb 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteWithReconfigureTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteWithReconfigureTest.java
@@ -10,32 +10,28 @@
 package org.apache.logging.log4j.core.appender.rolling;
 
 import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.appender.RollingFileAppender;
 import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.test.junit.LoggerContextSource;
 import org.apache.logging.log4j.test.junit.CleanUpDirectories;
-import org.junit.jupiter.api.Tag;
 import org.junit.jupiter.api.Test;
 
 import java.io.File;
 import java.net.URI;
+import java.util.concurrent.CountDownLatch;
 
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
 
 /**
  *
  */
-@Tag("sleepy")
-public class RollingAppenderDirectWriteWithReconfigureTest {
+public class RollingAppenderDirectWriteWithReconfigureTest extends AbstractRollingListenerTest {
 
     private static final String CONFIG = "log4j-rolling-direct-reconfigure.xml";
 
     private static final String DIR = "target/rolling-direct-reconfigure";
 
-    private static final int MAX_TRIES = 10;
+    private final CountDownLatch rollover = new CountDownLatch(1);
 
     @Test
     @CleanUpDirectories(DIR)
@@ -44,22 +40,20 @@ public class RollingAppenderDirectWriteWithReconfigureTest {
         final var logger = context.getLogger(getClass());
         logger.debug("Before reconfigure");
 
-        Configuration config = context.getConfiguration();
         context.setConfigLocation(new URI(CONFIG));
         context.reconfigure();
+        Configuration config = context.getConfiguration();
+        final RollingFileAppender appender = config.getAppender("RollingFile");
+        appender.getManager().addRolloverListener(this);
         logger.debug("Force a rollover");
+        rollover.await();
         final File dir = new File(DIR);
-        for (int i = 0; i < MAX_TRIES; ++i) {
-            Thread.sleep(200);
-            if (config != context.getConfiguration()) {
-                break;
-            }
-        }
+        assertThat(dir).isNotEmptyDirectory();
+        assertThat(dir.listFiles()).hasSize(2);
+    }
 
-        assertTrue(dir.exists(), "Directory not created");
-        final File[] files = dir.listFiles();
-        assertNotNull(files);
-        assertTrue(files.length > 0, "Directory not created");
-        assertThat(files.length, is(equalTo(2)));
+    @Override
+    public void rolloverComplete(final String fileName) {
+        rollover.countDown();
     }
 }