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 2022/06/20 21:58:28 UTC

[logging-log4j2] 01/06: Migrate JUnit 4 tests to JUnit 5

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

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

commit c7adf074867aeae2175491a7a871419d9343fd88
Author: Piotr P. Karwasz <pi...@karwasz.org>
AuthorDate: Mon Jun 20 21:25:26 2022 +0200

    Migrate JUnit 4 tests to JUnit 5
---
 .../log4j/test/AbstractSerializationTest.java      | 33 +++++++++++-----------
 .../MessageFormatMessageSerializationTest.java     | 19 ++++---------
 .../status/StatusLoggerSerializationTest.java      | 18 ++++--------
 .../logging/log4j/util/StackLocatorUtilTest.java   | 26 ++++++++---------
 .../log4j/core/LoggerSerializationTest.java        | 19 ++++---------
 5 files changed, 45 insertions(+), 70 deletions(-)

diff --git a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/AbstractSerializationTest.java b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/AbstractSerializationTest.java
index efe499edb5..06b38775cb 100644
--- a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/AbstractSerializationTest.java
+++ b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/AbstractSerializationTest.java
@@ -16,35 +16,34 @@
  */
 package org.apache.logging.log4j.test;
 
-import java.io.Serializable;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
 import static org.apache.logging.log4j.test.SerializableMatchers.serializesRoundTrip;
 import static org.hamcrest.MatcherAssert.assertThat;
 
+import java.io.Serializable;
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
+
 /**
  * Subclasses tests {@link Serializable} objects.
  */
-@RunWith(Parameterized.class)
+@TestInstance(Lifecycle.PER_CLASS)
 public abstract class AbstractSerializationTest {
 
-    private final Serializable serializable;
-
-    public AbstractSerializationTest(final Serializable serializable) {
-        super();
-        this.serializable = serializable;
-    }
+    protected abstract Stream<Object> data();
 
-    @Test
-    public void testSerializationRoundtripEquals() {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void testSerializationRoundtripEquals(Serializable serializable) {
         assertThat(serializable, serializesRoundTrip(serializable));
     }
 
-    @Test
-    public void testSerializationRoundtripNoException() {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void testSerializationRoundtripNoException(Serializable serializable) {
         assertThat(serializable, serializesRoundTrip());
     }
 }
diff --git a/log4j-api-test/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageSerializationTest.java b/log4j-api-test/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageSerializationTest.java
index 5c5a465da6..2906293228 100644
--- a/log4j-api-test/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageSerializationTest.java
+++ b/log4j-api-test/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageSerializationTest.java
@@ -17,28 +17,21 @@
 
 package org.apache.logging.log4j.message;
 
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
 
 import org.apache.logging.log4j.test.AbstractSerializationTest;
 import org.junit.jupiter.api.parallel.ResourceAccessMode;
 import org.junit.jupiter.api.parallel.ResourceLock;
 import org.junit.jupiter.api.parallel.Resources;
-import org.junit.runners.Parameterized;
 
 @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
 public class MessageFormatMessageSerializationTest extends AbstractSerializationTest {
 
-    @Parameterized.Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][]{
-            {new MessageFormatMessage("Test")},
-            {new MessageFormatMessage("Test {0} {1}", "message", "test")},
-            {new MessageFormatMessage("{0}{1}{2}", 3, '.', 14L)}
-        });
+    protected Stream<Object> data() {
+        return Stream.of(
+            new MessageFormatMessage("Test"),
+            new MessageFormatMessage("Test {0} {1}", "message", "test"),
+            new MessageFormatMessage("{0}{1}{2}", 3, '.', 14L));
     }
 
-    public MessageFormatMessageSerializationTest(final MessageFormatMessage message) {
-        super(message);
-    }
 }
diff --git a/log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerSerializationTest.java b/log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerSerializationTest.java
index 68a282afc4..fedc5bd956 100644
--- a/log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerSerializationTest.java
+++ b/log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerSerializationTest.java
@@ -16,24 +16,16 @@
  */
 package org.apache.logging.log4j.status;
 
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
 
 import org.apache.logging.log4j.test.AbstractSerializationTest;
-import org.junit.Ignore;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.Disabled;
 
-@Ignore
+@Disabled
 public class StatusLoggerSerializationTest extends AbstractSerializationTest {
 
-    @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { StatusLogger.getLogger() } });
-    }
-
-    public StatusLoggerSerializationTest(final Serializable serializable) {
-        super(serializable);
+    protected Stream<Object> data() {
+        return Stream.of(StatusLogger.getLogger());
     }
 
 }
diff --git a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/StackLocatorUtilTest.java b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/StackLocatorUtilTest.java
index 82829e1894..2b9eeffe7b 100644
--- a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/StackLocatorUtilTest.java
+++ b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/StackLocatorUtilTest.java
@@ -16,19 +16,17 @@
  */
 package org.apache.logging.log4j.util;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
 
 import java.util.ArrayDeque;
 import java.util.Deque;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.BlockJUnit4ClassRunner;
-import org.junit.runners.ParentRunner;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.engine.execution.ExecutableInvoker;
+import org.junit.jupiter.engine.execution.InvocationInterceptorChain;
 
-@RunWith(BlockJUnit4ClassRunner.class)
 public class StackLocatorUtilTest {
 
     @Test
@@ -92,8 +90,8 @@ public class StackLocatorUtilTest {
 
     @Test
     public void testGetCallerClassViaName() throws Exception {
-        final Class<?> expected = BlockJUnit4ClassRunner.class;
-        final Class<?> actual = StackLocatorUtil.getCallerClass("org.junit.runners.ParentRunner");
+        final Class<?> expected = ExecutableInvoker.class;
+        final Class<?> actual = StackLocatorUtil.getCallerClass("org.junit.jupiter.engine.execution.InvocationInterceptorChain");
         // if this test fails in the future, it's probably because of a JUnit upgrade; check the new stack trace and
         // update this test accordingly
         assertSame(expected, actual);
@@ -101,8 +99,8 @@ public class StackLocatorUtilTest {
 
     @Test
     public void testGetCallerClassViaAnchorClass() throws Exception {
-        final Class<?> expected = BlockJUnit4ClassRunner.class;
-        final Class<?> actual = StackLocatorUtil.getCallerClass(ParentRunner.class);
+        final Class<?> expected = ExecutableInvoker.class;
+        final Class<?> actual = StackLocatorUtil.getCallerClass(InvocationInterceptorChain.class);
         // if this test fails in the future, it's probably because of a JUnit upgrade; check the new stack trace and
         // update this test accordingly
         assertSame(expected, actual);
@@ -112,8 +110,8 @@ public class StackLocatorUtilTest {
     public void testLocateClass() {
         final ClassLocator locator = new ClassLocator();
         final Class<?> clazz = locator.locateClass();
-        assertNotNull("Could not locate class", clazz);
-        assertEquals("Incorrect class", this.getClass(), clazz);
+        assertNotNull(clazz, "Could not locate class");
+        assertEquals(this.getClass(), clazz, "Incorrect class");
     }
 
 }
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/LoggerSerializationTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/LoggerSerializationTest.java
index 4da35fb2d5..b1944ed9c9 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/LoggerSerializationTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/LoggerSerializationTest.java
@@ -16,9 +16,7 @@
  */
 package org.apache.logging.log4j.core;
 
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.test.AbstractSerializationTest;
@@ -27,16 +25,11 @@ import org.junit.runners.Parameterized.Parameters;
 public class LoggerSerializationTest extends AbstractSerializationTest {
 
     @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] {
-                { new LoggerContext("").getLogger("", null) },
-                { LogManager.getRootLogger() },
-                { LogManager.getLogger() },
-                { LogManager.getLogger("test") } });
-    }
-
-    public LoggerSerializationTest(final Serializable serializable) {
-        super(serializable);
+    protected Stream<Object> data() {
+        return Stream.of(new LoggerContext("").getLogger("", null),
+                LogManager.getRootLogger(),
+                LogManager.getLogger(),
+                LogManager.getLogger("test"));
     }
 
 }