This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch release-2.x in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/release-2.x by this push: new 4867187 Try improving RollingAppenderRestartTest to alleviate test report failures. 4867187 is described below commit 48671873a340e73a0c2e2920fd8d4b07494bebaa Author: Volkan Yazıcı <volkan.yaz...@gmail.com> AuthorDate: Tue Aug 25 14:24:52 2020 +0200 Try improving RollingAppenderRestartTest to alleviate test report failures. --- .../rolling/RollingAppenderRestartTest.java | 48 +++++++++++++++------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderRestartTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderRestartTest.java index 80474b6..bf8b39b 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderRestartTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderRestartTest.java @@ -16,21 +16,27 @@ */ package org.apache.logging.log4j.core.appender.rolling; +import org.apache.commons.io.file.PathUtils; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.junit.LoggerContextRule; import org.hamcrest.Matcher; +import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; import org.junit.rules.RuleChain; import java.io.File; +import java.io.IOException; import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.nio.file.attribute.BasicFileAttributeView; import java.nio.file.attribute.FileTime; import java.time.Instant; import java.time.temporal.ChronoUnit; +import java.util.Arrays; import static org.apache.logging.log4j.hamcrest.Descriptors.that; import static org.apache.logging.log4j.hamcrest.FileMatchers.hasName; @@ -38,37 +44,49 @@ import static org.hamcrest.Matchers.endsWith; import static org.hamcrest.Matchers.hasItemInArray; import static org.junit.Assert.assertTrue; -/** - * - */ public class RollingAppenderRestartTest { private static final String CONFIG = "log4j-rolling-restart.xml"; - private static final String DIR = "target/rolling-restart"; - private final LoggerContextRule loggerContextRule = LoggerContextRule.createShutdownTimeoutLoggerContextRule(CONFIG); + // Note that both paths are hardcoded in the configuration! + private static final Path DIR = Paths.get("target/rolling-restart"); + private static final Path FILE = DIR.resolve("test.log"); + + private final LoggerContextRule loggerContextRule = + LoggerContextRule.createShutdownTimeoutLoggerContextRule(CONFIG); @Rule - public RuleChain chain = loggerContextRule.withCleanFoldersRule(false, true, 5, DIR); + public RuleChain chain = + loggerContextRule.withCleanFoldersRule( + false, true, 5, DIR.toAbsolutePath().toString()); @BeforeClass public static void setup() throws Exception { - File file = new File("target/rolling-restart/test.log"); - Files.createDirectories(file.toPath().getParent()); - Files.write(file.toPath(), "Hello, world".getBytes(), StandardOpenOption.CREATE); + tearDown(); + Files.createDirectories(DIR); + Files.write(FILE, "Hello, world".getBytes(), StandardOpenOption.CREATE); FileTime newTime = FileTime.from(Instant.now().minus(2, ChronoUnit.DAYS)); - Files.getFileAttributeView(file.toPath(), BasicFileAttributeView.class).setTimes(newTime, newTime, newTime); + Files + .getFileAttributeView(FILE, BasicFileAttributeView.class) + .setTimes(newTime, newTime, newTime); + } + + @AfterClass + public static void tearDown() throws IOException { + if (DIR.toFile().exists()) { + PathUtils.deleteDirectory(DIR); + } } @Test public void testAppender() throws Exception { final Logger logger = loggerContextRule.getLogger(); logger.info("This is test message number 1"); - - final File dir = new File(DIR); - final Matcher<File[]> hasGzippedFile = hasItemInArray(that(hasName(that(endsWith(".gz"))))); - final File[] files = dir.listFiles(); - assertTrue("No gzipped files found", hasGzippedFile.matches(files)); + final File[] files = DIR.toFile().listFiles(); + assertTrue( + "was expecting files with '.gz' suffix, found: " + Arrays.toString(files), + hasGzippedFile.matches(files)); } + }