From f1c98a736222ef052e84cd2da4654292f9e6aa0f Mon Sep 17 00:00:00 2001 From: "Piotr P. Karwasz" Date: Sun, 16 Feb 2025 09:26:15 +0100 Subject: [PATCH 1/2] Fix `RollingRandomAppenderDirectWriteAndSwitchDirectoryTest` Attempt to fix the flaky `RollingRandomAppenderDirectWriteAndSwitchDirectoryTest`. --- ...derDirectWriteAndSwitchDirectoryTest.java} | 21 ++++---- ...enderDirectWriteAndSwitchDirectoryTest.xml | 36 ++++++++++++++ ...-rolling-random-direct-switch-director.xml | 48 ------------------- 3 files changed, 48 insertions(+), 57 deletions(-) rename log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/{RollingRandomAppenderDirectWriteAndSwitchDirectorTest.java => RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.java} (72%) create mode 100644 log4j-core-test/src/test/resources/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.xml delete mode 100644 log4j-core-test/src/test/resources/log4j-rolling-random-direct-switch-director.xml diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectorTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.java similarity index 72% rename from log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectorTest.java rename to log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.java index ceb6faacfed..14e56c9d0f3 100644 --- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectorTest.java +++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.java @@ -16,24 +16,28 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; -import java.io.File; +import java.nio.file.Path; import java.time.LocalTime; import org.apache.logging.log4j.core.Logger; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.test.junit.LoggerContextSource; import org.apache.logging.log4j.test.junit.CleanUpDirectories; +import org.apache.logging.log4j.test.junit.TempLoggingDir; import org.junit.jupiter.api.Test; -@CleanUpDirectories(RollingRandomAppenderDirectWriteAndSwitchDirectorTest.DIR) -class RollingRandomAppenderDirectWriteAndSwitchDirectorTest { +@CleanUpDirectories(RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.DIR) +class RollingRandomAppenderDirectWriteAndSwitchDirectoryTest { public static final String DIR = "target/rolling-random-direct-switch-director"; + @TempLoggingDir + private Path loggingPath; + @Test - @LoggerContextSource(value = "log4j-rolling-random-direct-switch-director.xml", timeout = 10) + @LoggerContextSource(value = "appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.xml", timeout = 10) void testAppender(final LoggerContext context) throws Exception { - final Logger logger = context.getLogger(RollingRandomAppenderDirectWriteAndSwitchDirectorTest.class.getName()); + final Logger logger = context.getLogger(RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.class.getName()); final LocalTime start = LocalTime.now(); LocalTime end; do { @@ -41,8 +45,7 @@ void testAppender(final LoggerContext context) throws Exception { logger.info("test log"); Thread.sleep(100); } while (start.getSecond() == end.getSecond()); - - final File nextLogFile = new File(String.format("%s/%d/%d.log", DIR, end.getSecond(), end.getSecond())); - assertTrue(nextLogFile.exists(), "nextLogFile not created"); + Path nextLogPath = loggingPath.resolve(String.format("%d/%d.log", end.getSecond(), end.getSecond())); + assertThat(nextLogPath).as("Archived log for second %s", end.getSecond()).exists(); } } diff --git a/log4j-core-test/src/test/resources/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.xml b/log4j-core-test/src/test/resources/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.xml new file mode 100644 index 00000000000..73ea080223c --- /dev/null +++ b/log4j-core-test/src/test/resources/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + diff --git a/log4j-core-test/src/test/resources/log4j-rolling-random-direct-switch-director.xml b/log4j-core-test/src/test/resources/log4j-rolling-random-direct-switch-director.xml deleted file mode 100644 index 638b4381678..00000000000 --- a/log4j-core-test/src/test/resources/log4j-rolling-random-direct-switch-director.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - start log4j-rolling-random-direct-switch-director test - %d %p %C{1.} [%t] %m%n - target/rolling-random-direct-switch-director - - - - - ${LOG_PATTERN} - - - - - ${LOG_PATTERN} - - - - - - - - - - - > - - - - - From dd4135beaf9dcf72c6f3aeb4aa923163875be3cd Mon Sep 17 00:00:00 2001 From: "Piotr P. Karwasz" Date: Sun, 16 Feb 2025 09:33:55 +0100 Subject: [PATCH 2/2] Fix formatting --- ...ngRandomAppenderDirectWriteAndSwitchDirectoryTest.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.java index 14e56c9d0f3..fa5bd315ac9 100644 --- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.java +++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.java @@ -35,7 +35,9 @@ class RollingRandomAppenderDirectWriteAndSwitchDirectoryTest { private Path loggingPath; @Test - @LoggerContextSource(value = "appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.xml", timeout = 10) + @LoggerContextSource( + value = "appender/rolling/RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.xml", + timeout = 10) void testAppender(final LoggerContext context) throws Exception { final Logger logger = context.getLogger(RollingRandomAppenderDirectWriteAndSwitchDirectoryTest.class.getName()); final LocalTime start = LocalTime.now(); @@ -46,6 +48,8 @@ void testAppender(final LoggerContext context) throws Exception { Thread.sleep(100); } while (start.getSecond() == end.getSecond()); Path nextLogPath = loggingPath.resolve(String.format("%d/%d.log", end.getSecond(), end.getSecond())); - assertThat(nextLogPath).as("Archived log for second %s", end.getSecond()).exists(); + assertThat(nextLogPath) + .as("Archived log for second %s", end.getSecond()) + .exists(); } }