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 9c27911e4a2cb3d081db67fa816bc30e237a89bf
Author: Matt Sicker <[email protected]>
AuthorDate: Sat Oct 29 21:37:19 2022 -0500

    Update tests for JUnit 5
    
    Signed-off-by: Matt Sicker <[email protected]>
---
 .../rolling/RollingAppenderOnStartupTest.java      | 77 +++++++++-------------
 .../async/AsyncLoggerUseAfterShutdownTest.java     | 32 +++------
 2 files changed, 39 insertions(+), 70 deletions(-)

diff --git 
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderOnStartupTest.java
 
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderOnStartupTest.java
index 0ad0675240..20adc79938 100644
--- 
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderOnStartupTest.java
+++ 
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderOnStartupTest.java
@@ -16,11 +16,18 @@
  */
 package org.apache.logging.log4j.core.appender.rolling;
 
-import java.io.File;
+import org.apache.commons.io.file.PathUtils;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.test.junit.LoggerContextSource;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+import java.io.IOException;
 import java.nio.file.DirectoryStream;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.StandardCopyOption;
 import java.nio.file.attribute.BasicFileAttributeView;
 import java.nio.file.attribute.FileTime;
@@ -28,77 +35,53 @@ import java.time.Instant;
 import java.time.temporal.ChronoUnit;
 import java.util.List;
 
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.LoggerContext;
-import org.apache.logging.log4j.core.config.Configurator;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
  */
 public class RollingAppenderOnStartupTest {
 
-    private static final String SOURCE = "src/test/resources/__files";
-    private static final String DIR = "target/onStartup";
-    private static final String CONFIG = "log4j-rollOnStartup.xml";
+    private static final Path SOURCE = Path.of("src", "test", "resources", 
"__files");
+    private static final Path DIR = Path.of("target", "onStartup");
     private static final String FILENAME = "onStartup.log";
     private static final String PREFIX = "This is test message number ";
     private static final String ROLLED = "onStartup-";
 
-    private static LoggerContext loggerContext;
-
-    @BeforeClass
-    public static void beforeClass() throws Exception {
-        if (Files.exists(Paths.get("target/onStartup"))) {
-            try (DirectoryStream<Path> directoryStream = 
Files.newDirectoryStream(Paths.get(DIR))) {
-                for (final Path path : directoryStream) {
-                    Files.delete(path);
-                }
-                Files.delete(Paths.get(DIR));
-            }
+    @BeforeAll
+    static void setUp() throws IOException {
+        if (Files.isDirectory(DIR)) {
+            PathUtils.deleteDirectory(DIR);
         }
-        Files.createDirectory(new File(DIR).toPath());
-        Path target = Paths.get(DIR, FILENAME);
-        Files.copy(Paths.get(SOURCE, FILENAME), target, 
StandardCopyOption.COPY_ATTRIBUTES);
-        FileTime newTime = FileTime.from(Instant.now().minus(1, 
ChronoUnit.DAYS));
+        Files.createDirectory(DIR);
+        final Path target = Files.copy(SOURCE.resolve(FILENAME), 
DIR.resolve(FILENAME), StandardCopyOption.COPY_ATTRIBUTES);
+        final FileTime newTime = FileTime.from(Instant.now().minus(1, 
ChronoUnit.DAYS));
         Files.getFileAttributeView(target, 
BasicFileAttributeView.class).setTimes(newTime, newTime, newTime);
     }
 
+    @AfterAll
+    static void tearDown() throws IOException {
+        PathUtils.deleteDirectory(DIR);
+    }
+
     @Test
-    public void performTest() throws Exception {
+    @LoggerContextSource("log4j-rollOnStartup.xml")
+    public void performTest(final LoggerContext loggerContext) throws 
Exception {
         boolean rolled = false;
-        loggerContext = Configurator.initialize("Test", CONFIG);
         final Logger logger = 
loggerContext.getLogger(RollingAppenderOnStartupTest.class);
         for (int i = 3; i < 10; ++i) {
             logger.debug(PREFIX + i);
         }
-        try (DirectoryStream<Path> directoryStream = 
Files.newDirectoryStream(Paths.get(DIR))) {
+        try (DirectoryStream<Path> directoryStream = 
Files.newDirectoryStream(DIR)) {
             for (final Path path : directoryStream) {
                 if (path.toFile().getName().startsWith(ROLLED)) {
                     rolled = true;
                     List<String> lines = Files.readAllLines(path);
-                    assertTrue("No messages in " + path.toFile().getName(), 
lines.size() > 0);
-                    assertTrue("Missing message for " + 
path.toFile().getName(),
-                            lines.get(0).startsWith(PREFIX + "1"));
+                    assertTrue(lines.size() > 0, "No messages in " + 
path.toFile().getName());
+                    assertTrue(lines.get(0).startsWith(PREFIX + "1"), "Missing 
message for " + path.toFile().getName());
                 }
             }
         }
-        assertTrue("File did not roll", rolled);
-    }
-
-    @AfterClass
-    public static void afterClass() throws Exception {
-        Configurator.shutdown(loggerContext);
-        try (DirectoryStream<Path> directoryStream = 
Files.newDirectoryStream(Paths.get(DIR))) {
-            for (final Path path : directoryStream) {
-                Files.delete(path);
-            }
-        }
-        Files.delete(Paths.get(DIR));
+        assertTrue(rolled, "File did not roll");
     }
-
 }
diff --git 
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerUseAfterShutdownTest.java
 
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerUseAfterShutdownTest.java
index 9c1c670072..d96a29c316 100644
--- 
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerUseAfterShutdownTest.java
+++ 
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerUseAfterShutdownTest.java
@@ -19,38 +19,24 @@ package org.apache.logging.log4j.core.async;
 import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.test.categories.AsyncLoggers;
-import org.apache.logging.log4j.core.test.CoreLoggerContexts;
 import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.test.CoreLoggerContexts;
 import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.message.SimpleMessage;
 import org.apache.logging.log4j.spi.AbstractLogger;
-import org.apache.logging.log4j.util.Strings;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junitpioneer.jupiter.SetSystemProperty;
 
 /**
- * Test for https://issues.apache.org/jira/browse/LOG4J2-639
+ * Test for <a 
href="https://issues.apache.org/jira/browse/LOG4J2-639";>LOG4J2-639</a>
  */
-@Category(AsyncLoggers.class)
+@Tag("async")
+@Tag("functional")
 public class AsyncLoggerUseAfterShutdownTest {
-
-    @BeforeClass
-    public static void beforeClass() {
-        System.setProperty(Constants.LOG4J_CONTEXT_SELECTOR,
-                AsyncLoggerContextSelector.class.getName());
-        System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY,
-                "AsyncLoggerTest.xml");
-    }
-
-    @AfterClass
-    public static void afterClass() {
-        System.setProperty(Constants.LOG4J_CONTEXT_SELECTOR, Strings.EMPTY);
-    }
-
     @Test
+    @SetSystemProperty(key = Constants.LOG4J_CONTEXT_SELECTOR, value = 
"org.apache.logging.log4j.core.async.AsyncLoggerContextSelector")
+    @SetSystemProperty(key = ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, 
value = "AsyncLoggerTest.xml")
     public void testNoErrorIfLogAfterShutdown() throws Exception {
         final Logger log = LogManager.getLogger("com.foo.Bar");
         final String msg = "Async logger msg";

Reply via email to