You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by pk...@apache.org on 2024/04/03 12:16:58 UTC
(logging-log4j2) branch main updated: Fix Windows test failure
This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/main by this push:
new 5a04e527b7 Fix Windows test failure
5a04e527b7 is described below
commit 5a04e527b7065e561084c837434dec1db30a1017
Author: Piotr P. Karwasz <pi...@karwasz.org>
AuthorDate: Wed Apr 3 14:16:52 2024 +0200
Fix Windows test failure
---
.../appender/rolling/RollingAppenderCronTest.java | 62 +++++++++++++---------
.../rolling/RollingAppenderCronTest.new.xml} | 0
.../rolling/RollingAppenderCronTest.old.xml} | 5 +-
3 files changed, 40 insertions(+), 27 deletions(-)
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.java
index 7398c87c81..d1262d1687 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.java
@@ -16,11 +16,12 @@
*/
package org.apache.logging.log4j.core.appender.rolling;
+import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
+import static java.util.Objects.requireNonNull;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.io.File;
-import java.io.OutputStream;
+import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.concurrent.CountDownLatch;
@@ -30,44 +31,55 @@ import org.apache.logging.log4j.core.appender.RollingFileAppender;
import org.apache.logging.log4j.core.test.junit.LoggerContextSource;
import org.apache.logging.log4j.core.util.CronExpression;
import org.apache.logging.log4j.plugins.Named;
-import org.apache.logging.log4j.test.junit.CleanUpDirectories;
+import org.apache.logging.log4j.test.junit.TempLoggingDir;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junitpioneer.jupiter.DisabledUntil;
+import org.opentest4j.TestAbortedException;
-/**
- *
- */
-@DisabledUntil(date = "2024-04-01", reason = "Temporarily disabled due to deadlocks.")
-public class RollingAppenderCronTest extends AbstractRollingListenerTest {
+class RollingAppenderCronTest extends AbstractRollingListenerTest {
+
+ private static final Path CONFIG;
+
+ static {
+ try {
+ CONFIG = Path.of(requireNonNull(RollingAppenderCronTest.class.getResource("RollingAppenderCronTest.xml"))
+ .toURI());
+ } catch (final URISyntaxException e) {
+ throw new TestAbortedException("Unable to compute configuration location.", e);
+ }
+ }
- private static final String CONFIG = "log4j-rolling-cron.xml";
- private static final String DIR = "target/rolling-cron";
- private static final String FILE = "target/rolling-cron/rollingtest.log";
private final CountDownLatch rollover = new CountDownLatch(2);
private final CountDownLatch reconfigured = new CountDownLatch(1);
+ @TempLoggingDir
+ private static Path loggingPath;
+
+ @BeforeEach
+ void beforeEach() throws Exception {
+ final Path src =
+ Path.of(requireNonNull(RollingAppenderCronTest.class.getResource("RollingAppenderCronTest.old.xml"))
+ .toURI());
+ Files.copy(src, CONFIG, REPLACE_EXISTING);
+ }
+
@Test
- @CleanUpDirectories(DIR)
- @LoggerContextSource(value = CONFIG, timeout = 10)
+ @LoggerContextSource(timeout = 10)
public void testAppender(final LoggerContext context, @Named("RollingFile") final RollingFileManager manager)
throws Exception {
manager.addRolloverListener(this);
final Logger logger = context.getLogger(getClass());
- final File file = new File(FILE);
- assertThat(file).exists();
+ assertThat(loggingPath.resolve("rollingtest.log")).exists();
logger.debug("This is test message number 1");
rollover.await();
+ assertThat(loggingPath).isNotEmptyDirectory().isDirectoryContaining("glob:**.gz");
- final File dir = new File(DIR);
- assertThat(dir).isNotEmptyDirectory();
- assertThat(dir).isDirectoryContaining("glob:**.gz");
-
- final Path src = Path.of("target", "test-classes", "log4j-rolling-cron2.xml");
+ final Path src =
+ Path.of(requireNonNull(RollingAppenderCronTest.class.getResource("RollingAppenderCronTest.new.xml"))
+ .toURI());
context.addConfigurationStartedListener(ignored -> reconfigured.countDown());
- try (final OutputStream os =
- Files.newOutputStream(Path.of("target", "test-classes", "log4j-rolling-cron.xml"))) {
- Files.copy(src, os);
- }
+ Files.copy(src, CONFIG, REPLACE_EXISTING);
+
// force a reconfiguration
for (int i = 0; i < 20; ++i) {
logger.debug("Adding new event {}", i);
diff --git a/log4j-core-test/src/test/resources/log4j-rolling-cron2.xml b/log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.new.xml
similarity index 100%
rename from log4j-core-test/src/test/resources/log4j-rolling-cron2.xml
rename to log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.new.xml
diff --git a/log4j-core-test/src/test/resources/log4j-rolling-cron.xml b/log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.old.xml
similarity index 88%
rename from log4j-core-test/src/test/resources/log4j-rolling-cron.xml
rename to log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.old.xml
index 49ca7772d3..986027cb45 100644
--- a/log4j-core-test/src/test/resources/log4j-rolling-cron.xml
+++ b/log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronTest.old.xml
@@ -17,7 +17,7 @@
-->
<Configuration status="off" name="RollingCronTest" monitorInterval="1">
<Properties>
- <Property name="filename">target/rolling-cron/rollingtest.log</Property>
+ <Property name="filename">${test:logging.path}/rollingtest.log</Property>
</Properties>
<Filters>
<ThresholdFilter level="debug"/>
@@ -27,7 +27,8 @@
<Console name="STDOUT">
<PatternLayout pattern="%m%n"/>
</Console>
- <RollingFile name="RollingFile" fileName="${filename}" filePattern="target/rolling-cron/test1-%d{MM-dd-yy-HH-mm-ss}.log.gz">
+ <RollingFile name="RollingFile" fileName="${filename}"
+ filePattern="${test:logging.path}/test1-%d{MM-dd-yy-HH-mm-ss}.log.gz">
<PatternLayout>
<Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
</PatternLayout>