Merge pull request #420 from Marcono1234/marcono1234/site-typo-fixes
(doc) Fix typos in manual
diff --git a/log4j-api/pom.xml b/log4j-api/pom.xml
index e0624f8..dcf060d 100644
--- a/log4j-api/pom.xml
+++ b/log4j-api/pom.xml
@@ -165,6 +165,23 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <properties>
+ <configurationParameters>
+ <!-- LOG4J2-2921: use parallel test execution by default -->
+ junit.jupiter.execution.parallel.enabled = true
+ junit.jupiter.execution.parallel.mode.default = concurrent
+ </configurationParameters>
+ </properties>
+ <forkCount>1C</forkCount>
+ <reuseForks>true</reuseForks>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <excludedGroups>performance,smoke</excludedGroups>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java
index 914e0d0..817f082 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java
@@ -16,11 +16,7 @@
*/
package org.apache.logging.log4j;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.MatcherAssert.*;
-import static org.junit.jupiter.api.Assertions.*;
-
-import org.apache.logging.log4j.junit.StatusLoggerLevelExtension;
+import org.apache.logging.log4j.junit.StatusLoggerLevel;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.ObjectMessage;
import org.apache.logging.log4j.message.ParameterizedMessage;
@@ -32,10 +28,16 @@
import org.apache.logging.log4j.util.MessageSupplier;
import org.apache.logging.log4j.util.Supplier;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.parallel.ResourceLock;
import java.util.List;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.*;
+
+@StatusLoggerLevel("WARN")
+@ResourceLock("log4j2.MarkerManager")
public class AbstractLoggerTest {
private static final StringBuilder CHAR_SEQ = new StringBuilder("CharSeq");
@@ -59,9 +61,6 @@
private static final Marker MARKER = MarkerManager.getMarker("TEST");
private static final String MARKER_NAME = "TEST";
- @RegisterExtension
- public StatusLoggerLevelExtension status = new StatusLoggerLevelExtension(Level.WARN);
-
private static final LogEvent[] EVENTS = new LogEvent[] {
new LogEvent(null, simple, null),
new LogEvent(MARKER_NAME, simple, null),
@@ -886,6 +885,7 @@
}
@Test
+ @ResourceLock("log4j2.StatusLogger")
public void testMessageThrows() {
final ThrowableExpectingLogger logger = new ThrowableExpectingLogger(false);
logger.error(new TestMessage(() -> {
@@ -900,6 +900,7 @@
}
@Test
+ @ResourceLock("log4j2.StatusLogger")
public void testMessageThrowsAndNullFormat() {
final ThrowableExpectingLogger logger = new ThrowableExpectingLogger(false);
logger.error(new TestMessage(() -> {
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/CloseableThreadContextTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/CloseableThreadContextTest.java
index 54ea122..9acafad 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/CloseableThreadContextTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/CloseableThreadContextTest.java
@@ -16,8 +16,12 @@
*/
package org.apache.logging.log4j;
-import org.apache.logging.log4j.junit.UsingAnyThreadContext;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.util.HashMap;
import java.util.List;
@@ -30,12 +34,18 @@
*
* @since 2.6
*/
-@UsingAnyThreadContext
+@ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public class CloseableThreadContextTest {
private final String key = "key";
private final String value = "value";
+ @BeforeEach
+ @AfterEach
+ void clearThreadContext() {
+ ThreadContext.clearAll();
+ }
+
@Test
public void shouldAddAnEntryToTheMap() {
try (final CloseableThreadContext.Instance ignored = CloseableThreadContext.put(key, value)) {
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/EventLoggerTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/EventLoggerTest.java
index a778a45..fe66f2e 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/EventLoggerTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/EventLoggerTest.java
@@ -19,12 +19,14 @@
import org.apache.logging.log4j.message.StructuredDataMessage;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
import java.util.List;
import java.util.Locale;
import static org.assertj.core.api.Assertions.assertThat;
+@ResourceLock("log4j2.TestLogger")
public class EventLoggerTest {
TestLogger logger = (TestLogger) LogManager.getLogger("EventLogger");
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java
index 8aa150d..c768118 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java
@@ -19,6 +19,9 @@
import org.apache.logging.log4j.message.ParameterizedMessageFactory;
import org.apache.logging.log4j.spi.LoggerContext;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.io.Closeable;
import java.io.IOException;
@@ -26,6 +29,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+@ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public class LogManagerTest {
@SuppressWarnings("InnerClassMayBeStatic")
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/LoggerSupplierTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/LoggerSupplierTest.java
index e8c7b39..5ca79ab 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/LoggerSupplierTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/LoggerSupplierTest.java
@@ -30,15 +30,21 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.util.List;
import java.util.Locale;
+import java.util.Properties;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests Logger APIs with {@link Supplier}.
*/
+@ResourceLock(Resources.LOCALE)
+@ResourceLock("log4j2.TestLogger")
public class LoggerSupplierTest {
private final TestLogger logger = (TestLogger) LogManager.getLogger("LoggerTest");
@@ -59,11 +65,13 @@
@Test
public void flowTracing_SupplierOfJsonMessage() {
- logger.traceEntry(() -> new JsonMessage(System.getProperties()));
+ Properties props = new Properties();
+ props.setProperty("foo", "bar");
+ logger.traceEntry(() -> new JsonMessage(props));
assertThat(results).hasSize(1);
String entry = results.get(0);
assertThat(entry).startsWith("ENTER[ FLOW ] TRACE Enter")
- .contains("\"java.runtime.name\":")
+ .contains("\"foo\":\"bar\"")
.doesNotContain("JsonMessage");
}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java
index 7a04fbf..1c25397 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java
@@ -30,15 +30,21 @@
import org.apache.logging.log4j.util.Supplier;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.util.Date;
import java.util.List;
import java.util.Locale;
+import java.util.Properties;
import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.*;
+@ResourceLock("log4j2.MarkerManager")
+@ResourceLock("log4j2.TestLogger")
public class LoggerTest {
private static class TestParameterizedMessageFactory {
@@ -60,12 +66,12 @@
logger.atWarn().withThrowable(new Throwable("This is a test")).log((Message) new SimpleMessage("Log4j rocks!"));
assertEquals(3, results.size());
assertThat("Incorrect message 1", results.get(0),
- equalTo(" DEBUG org.apache.logging.log4j.LoggerTest.builder(LoggerTest.java:58) Hello"));
+ equalTo(" DEBUG org.apache.logging.log4j.LoggerTest.builder(LoggerTest.java:64) Hello"));
assertThat("Incorrect message 2", results.get(1), equalTo("test ERROR Hello John"));
assertThat("Incorrect message 3", results.get(2),
startsWith(" WARN Log4j rocks! java.lang.Throwable: This is a test"));
assertThat("Throwable incorrect in message 3", results.get(2),
- containsString("at org.apache.logging.log4j.LoggerTest.builder(LoggerTest.java:60)"));
+ containsString("at org.apache.logging.log4j.LoggerTest.builder(LoggerTest.java:66)"));
}
@Test
@@ -80,12 +86,14 @@
@Test
public void flowTracingMessage() {
- logger.traceEntry(new JsonMessage(System.getProperties()));
+ Properties props = new Properties();
+ props.setProperty("foo", "bar");
+ logger.traceEntry(new JsonMessage(props));
final Response response = new Response(-1, "Generic error");
logger.traceExit(new JsonMessage(response), response);
assertEquals(2, results.size());
assertThat("Incorrect Entry", results.get(0), startsWith("ENTER[ FLOW ] TRACE Enter"));
- assertThat("Missing entry data", results.get(0), containsString("\"java.runtime.name\":"));
+ assertThat("Missing entry data", results.get(0), containsString("\"foo\":\"bar\""));
assertThat("incorrect Exit", results.get(1), startsWith("EXIT[ FLOW ] TRACE Exit"));
assertThat("Missing exit data", results.get(1), containsString("\"message\":\"Generic error\""));
}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/MarkerTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/MarkerTest.java
index 1b6f251..1b72d1a 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/MarkerTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/MarkerTest.java
@@ -18,9 +18,11 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
import static org.junit.jupiter.api.Assertions.*;
+@ResourceLock("log4j2.MarkerManager")
public class MarkerTest {
@BeforeEach
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/NoopThreadContextTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/NoopThreadContextTest.java
index 992b13c..5c79106 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/NoopThreadContextTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/NoopThreadContextTest.java
@@ -19,12 +19,15 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import static org.junit.jupiter.api.Assertions.assertNull;
/**
* Tests {@link ThreadContext}.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
public class NoopThreadContextTest {
private static final String TRUE = "true";
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/ThreadContextInheritanceTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/ThreadContextInheritanceTest.java
index f1cc91e..76f8ccd 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/ThreadContextInheritanceTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/ThreadContextInheritanceTest.java
@@ -22,6 +22,8 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import static org.junit.jupiter.api.Assertions.*;
@@ -29,6 +31,7 @@
* Tests {@link ThreadContext}.
*/
@UsingAnyThreadContext
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
public class ThreadContextInheritanceTest {
@BeforeAll
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/CleanUpDirectories.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/CleanUpDirectories.java
index 3cdceda..6c398e6 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/CleanUpDirectories.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/CleanUpDirectories.java
@@ -35,7 +35,7 @@
* @since 2.14.0
*/
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
+@Target({ElementType.TYPE, ElementType.METHOD})
@Documented
@Inherited
@ExtendWith(DirectoryCleaner.class)
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/CleanUpFiles.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/CleanUpFiles.java
index b58d8f8..a3b9ca6 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/CleanUpFiles.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/CleanUpFiles.java
@@ -35,7 +35,7 @@
* @since 2.14.0
*/
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
+@Target({ElementType.TYPE, ElementType.METHOD})
@Documented
@Inherited
@ExtendWith(FileCleaner.class)
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/DirectoryCleaner.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/DirectoryCleaner.java
index efa971b..26f5518 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/DirectoryCleaner.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/DirectoryCleaner.java
@@ -26,17 +26,26 @@
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
-import java.util.stream.Collectors;
+import java.util.HashSet;
class DirectoryCleaner extends AbstractFileCleaner {
@Override
Collection<Path> getPathsForTest(final ExtensionContext context) {
- final CleanUpDirectories cleanUpDirectories = context.getRequiredTestClass().getAnnotation(CleanUpDirectories.class);
- return cleanUpDirectories == null ? Collections.emptySet() :
- Arrays.stream(cleanUpDirectories.value()).map(Paths::get).collect(Collectors.toSet());
+ final Collection<Path> paths = new HashSet<>();
+ final CleanUpDirectories testClassAnnotation = context.getRequiredTestClass().getAnnotation(CleanUpDirectories.class);
+ if (testClassAnnotation != null) {
+ for (final String path : testClassAnnotation.value()) {
+ paths.add(Paths.get(path));
+ }
+ }
+ final CleanUpDirectories testMethodAnnotation = context.getRequiredTestMethod().getAnnotation(CleanUpDirectories.class);
+ if (testMethodAnnotation != null) {
+ for (final String path : testMethodAnnotation.value()) {
+ paths.add(Paths.get(path));
+ }
+ }
+ return paths;
}
@Override
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/FileCleaner.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/FileCleaner.java
index 64ae0df..1858666 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/FileCleaner.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/FileCleaner.java
@@ -23,17 +23,26 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
-import java.util.stream.Collectors;
+import java.util.HashSet;
class FileCleaner extends AbstractFileCleaner {
@Override
Collection<Path> getPathsForTest(final ExtensionContext context) {
- final CleanUpFiles cleanUpFiles = context.getRequiredTestClass().getAnnotation(CleanUpFiles.class);
- return cleanUpFiles == null ? Collections.emptySet() :
- Arrays.stream(cleanUpFiles.value()).map(Paths::get).collect(Collectors.toSet());
+ final Collection<Path> paths = new HashSet<>();
+ final CleanUpFiles testClassAnnotation = context.getRequiredTestClass().getAnnotation(CleanUpFiles.class);
+ if (testClassAnnotation != null) {
+ for (final String path : testClassAnnotation.value()) {
+ paths.add(Paths.get(path));
+ }
+ }
+ final CleanUpFiles testMethodAnnotation = context.getRequiredTestMethod().getAnnotation(CleanUpFiles.class);
+ if (testMethodAnnotation != null) {
+ for (final String path : testMethodAnnotation.value()) {
+ paths.add(Paths.get(path));
+ }
+ }
+ return paths;
}
@Override
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerLevel.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerLevel.java
new file mode 100644
index 0000000..ef36d97
--- /dev/null
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerLevel.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+
+package org.apache.logging.log4j.junit;
+
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.api.parallel.ResourceLock;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * JUnit 5 test extension that sets a specific StatusLogger logging level for each test.
+ *
+ * @since 2.14.0
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+@Documented
+@Inherited
+@ExtendWith(StatusLoggerLevelExtension.class)
+@ResourceLock("log4j2.StatusLogger")
+public @interface StatusLoggerLevel {
+ /** Name of {@link org.apache.logging.log4j.Level} to use for status logger. */
+ String value();
+}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerLevelExtension.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerLevelExtension.java
index 5eb7de2..2b0a5cd 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerLevelExtension.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerLevelExtension.java
@@ -23,25 +23,19 @@
import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
-/**
- * JUnit 5 test extension that sets a specific StatusLogger logging level for each test.
- *
- * @since 2.14.0
- */
-public class StatusLoggerLevelExtension implements BeforeEachCallback, AfterEachCallback {
+class StatusLoggerLevelExtension implements BeforeEachCallback, AfterEachCallback {
private static final String KEY = "previousLevel";
- private final Level level;
-
- public StatusLoggerLevelExtension(Level level) {
- this.level = level;
- }
@Override
public void beforeEach(ExtensionContext context) throws Exception {
+ final StatusLoggerLevel annotation = context.getRequiredTestClass().getAnnotation(StatusLoggerLevel.class);
+ if (annotation == null) {
+ return;
+ }
final StatusLogger logger = StatusLogger.getLogger();
getStore(context).put(KEY, logger.getLevel());
- logger.setLevel(level);
+ logger.setLevel(Level.valueOf(annotation.value()));
}
@Override
@@ -51,6 +45,6 @@
private ExtensionContext.Store getStore(ExtensionContext context) {
return context.getStore(ExtensionContext.Namespace
- .create(getClass(), context.getRequiredTestInstance(), context.getRequiredTestMethod()));
+ .create(getClass(), context.getRequiredTestInstance()));
}
}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerRule.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerRule.java
index fc57623..987216c 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerRule.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/StatusLoggerRule.java
@@ -25,7 +25,7 @@
* Log4j configuration file.
*
* @since 2.8
- * @deprecated Use {@link StatusLoggerLevelExtension} with JUnit 5
+ * @deprecated Use {@link StatusLoggerLevel} with JUnit 5
*/
@Deprecated
public class StatusLoggerRule extends ExternalResource {
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingAnyThreadContext.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingAnyThreadContext.java
index 935df61..cd45243 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingAnyThreadContext.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingAnyThreadContext.java
@@ -18,6 +18,9 @@
package org.apache.logging.log4j.junit;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@@ -37,5 +40,6 @@
@Documented
@Inherited
@ExtendWith(ThreadContextExtension.class)
+@ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public @interface UsingAnyThreadContext {
}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingThreadContextMap.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingThreadContextMap.java
index df608f8..19cd705 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingThreadContextMap.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingThreadContextMap.java
@@ -18,6 +18,9 @@
package org.apache.logging.log4j.junit;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@@ -37,5 +40,6 @@
@Documented
@Inherited
@ExtendWith(ThreadContextExtension.class)
+@ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public @interface UsingThreadContextMap {
}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingThreadContextStack.java b/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingThreadContextStack.java
index 7d47e49..5e4fdac 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingThreadContextStack.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/junit/UsingThreadContextStack.java
@@ -18,6 +18,9 @@
package org.apache.logging.log4j.junit;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@@ -37,5 +40,6 @@
@Documented
@Inherited
@ExtendWith(ThreadContextExtension.class)
+@ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public @interface UsingThreadContextStack {
}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/FormattedMessageTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/FormattedMessageTest.java
index 588a81d..ff5913c 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/FormattedMessageTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/FormattedMessageTest.java
@@ -26,13 +26,14 @@
import org.apache.logging.log4j.junit.Mutable;
import org.apache.logging.log4j.util.Constants;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
-/**
- *
- */
+@ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public class FormattedMessageTest {
private static final String SPACE = Constants.JAVA_MAJOR_VERSION < 9 ? " " : "\u00a0";
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageTest.java
index 4689a17..019bd69 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageTest.java
@@ -22,12 +22,16 @@
import org.apache.commons.lang3.SerializationUtils;
import org.apache.logging.log4j.junit.Mutable;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import static org.junit.jupiter.api.Assertions.*;
/**
* Tests LocalizedMessage.
*/
+@ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public class LocalizedMessageTest {
private <T extends Serializable> T roundtrip(final T msg) {
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageSerializationTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageSerializationTest.java
index d158cd2..82480b0 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageSerializationTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageSerializationTest.java
@@ -21,8 +21,12 @@
import java.util.Collection;
import org.apache.logging.log4j.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
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageTest.java
index 42c54a2..2969467 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatMessageTest.java
@@ -20,14 +20,15 @@
import org.apache.logging.log4j.junit.Mutable;
import org.apache.logging.log4j.util.Constants;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.util.Locale;
import static org.junit.jupiter.api.Assertions.*;
-/**
- *
- */
+@ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public class MessageFormatMessageTest {
private static final String SPACE = Constants.JAVA_MAJOR_VERSION < 9 ? " " : "\u00a0";
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatsPerfTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatsPerfTest.java
index 6254b62..b5ff045 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatsPerfTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/MessageFormatsPerfTest.java
@@ -20,11 +20,15 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
/**
*
*/
@Tag("performance")
+@ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public class MessageFormatsPerfTest {
private static final int LOOP_CNT = 500;
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/StringFormattedMessageTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/StringFormattedMessageTest.java
index 5d85d96..0dd8041 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/StringFormattedMessageTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/StringFormattedMessageTest.java
@@ -25,12 +25,13 @@
import org.apache.logging.log4j.junit.Mutable;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import static org.junit.jupiter.api.Assertions.*;
-/**
- *
- */
+@ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public class StringFormattedMessageTest {
private static final int LOOP_CNT = 500;
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/ThreadDumpMessageTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/ThreadDumpMessageTest.java
index 61817c0..8b408e5 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/ThreadDumpMessageTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/ThreadDumpMessageTest.java
@@ -19,13 +19,10 @@
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.locks.ReentrantLock;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
-/**
- *
- */
public class ThreadDumpMessageTest {
@Test
@@ -90,7 +87,7 @@
other.start();
other.join();
- assertTrue(!actual[0].contains("OtherThread"), "No mention of other thread in msg");
+ assertFalse(actual[0].contains("OtherThread"), "No mention of other thread in msg");
}
@Test
@@ -114,7 +111,7 @@
keepAlive.countDown(); // allow thread to die
}
- private class Thread1 extends Thread {
+ private static class Thread1 extends Thread {
private final ReentrantLock lock;
public Thread1(final ReentrantLock lock) {
@@ -128,7 +125,7 @@
}
}
- private class Thread2 extends Thread {
+ private static class Thread2 extends Thread {
private final Object obj;
public Thread2(final Object obj) {
@@ -142,7 +139,7 @@
}
}
- private class ThreadWithCountDownLatch extends Thread {
+ private static class ThreadWithCountDownLatch extends Thread {
private final CountDownLatch started;
private final CountDownLatch keepAlive;
volatile boolean finished;
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/simple/SimpleLoggerTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/simple/SimpleLoggerTest.java
index ac42497..4f144ac 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/simple/SimpleLoggerTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/simple/SimpleLoggerTest.java
@@ -22,8 +22,11 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
@Tag("smoke")
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
public class SimpleLoggerTest {
@RegisterExtension
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java
index a894293..70c54f9 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java
@@ -16,7 +16,10 @@
*/
package org.apache.logging.log4j.spi;
+import org.apache.logging.log4j.junit.UsingThreadContextMap;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.util.HashMap;
import java.util.Map;
@@ -26,6 +29,7 @@
/**
* Tests the {@code DefaultThreadContextMap} class.
*/
+@UsingThreadContextMap
public class DefaultThreadContextMapTest {
@Test
@@ -211,6 +215,7 @@
}
@Test
+ @ResourceLock(Resources.SYSTEM_PROPERTIES)
public void testThreadLocalNotInheritableByDefault() {
System.clearProperty(DefaultThreadContextMap.INHERITABLE_MAP);
final ThreadLocal<Map<String, String>> threadLocal = DefaultThreadContextMap.createThreadLocalMap(true);
@@ -218,6 +223,7 @@
}
@Test
+ @ResourceLock(Resources.SYSTEM_PROPERTIES)
public void testThreadLocalInheritableIfConfigured() {
System.setProperty(DefaultThreadContextMap.INHERITABLE_MAP, "true");
ThreadContextMapFactory.init();
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java
index be6ebe3..68936a2 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java
@@ -21,11 +21,13 @@
import java.util.Iterator;
import org.apache.logging.log4j.ThreadContext.ContextStack;
+import org.apache.logging.log4j.junit.UsingAnyThreadContext;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
+@UsingAnyThreadContext
public class DefaultThreadContextStackTest {
@BeforeEach
@@ -85,7 +87,7 @@
assertEquals(stack, actual);
}
- @Test //(expected = UnsupportedOperationException.class)
+ @Test
public void testModifyingImmutableOrNullThrowsException() {
final DefaultThreadContextStack stack = createStack();
final int originalSize = stack.size();
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/EnvironmentPropertySourceSecurityManagerIT.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/EnvironmentPropertySourceSecurityManagerIT.java
index 0020c05..1d3dac4 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/util/EnvironmentPropertySourceSecurityManagerIT.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/EnvironmentPropertySourceSecurityManagerIT.java
@@ -22,6 +22,7 @@
import org.apache.logging.log4j.junit.SecurityManagerTestRule;
import org.junit.Rule;
import org.junit.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
/**
* Tests https://issues.apache.org/jira/browse/LOG4J2-2274.
@@ -35,6 +36,7 @@
* @see SecurityManager
* @see System#setSecurityManager(SecurityManager)
*/
+@ResourceLock("java.lang.SecurityManager")
public class EnvironmentPropertySourceSecurityManagerIT {
@Rule
@@ -44,7 +46,7 @@
* Always throws a SecurityException for any environment variables permission
* check.
*/
- private class TestSecurityManager extends SecurityManager {
+ private static class TestSecurityManager extends SecurityManager {
@Override
public void checkPermission(final Permission permission) {
if ("getenv.*".equals(permission.getName())) {
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/LoaderUtilTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/LoaderUtilTest.java
index 342388c..b9a0363 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/util/LoaderUtilTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/LoaderUtilTest.java
@@ -19,6 +19,8 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.net.URL;
import java.util.Collections;
@@ -26,6 +28,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
public class LoaderUtilTest {
@BeforeEach
@AfterEach
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/PropertiesUtilTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/PropertiesUtilTest.java
index 617487e..da9d18b 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/util/PropertiesUtilTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/PropertiesUtilTest.java
@@ -19,6 +19,9 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
@@ -76,6 +79,7 @@
}
@Test
+ @ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public void testGetMappedProperty_sun_stdout_encoding() {
final PropertiesUtil pu = new PropertiesUtil(System.getProperties());
Charset expected = System.console() == null ? Charset.defaultCharset() : StandardCharsets.UTF_8;
@@ -83,6 +87,7 @@
}
@Test
+ @ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public void testGetMappedProperty_sun_stderr_encoding() {
final PropertiesUtil pu = new PropertiesUtil(System.getProperties());
Charset expected = System.console() == null ? Charset.defaultCharset() : StandardCharsets.UTF_8;
@@ -90,6 +95,7 @@
}
@Test
+ @ResourceLock(Resources.SYSTEM_PROPERTIES)
public void testNonStringSystemProperties() {
Object key1 = "1";
Object key2 = new Object();
@@ -105,6 +111,7 @@
}
@Test
+ @ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public void testPublish() {
final Properties props = new Properties();
final PropertiesUtil util = new PropertiesUtil(props);
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/PropertyFilePropertySourceSecurityManagerIT.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/PropertyFilePropertySourceSecurityManagerIT.java
index c0c5134..76d363e 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/util/PropertyFilePropertySourceSecurityManagerIT.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/PropertyFilePropertySourceSecurityManagerIT.java
@@ -28,6 +28,10 @@
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
/**
* Test related to https://issues.apache.org/jira/browse/LOG4J2-2274.
@@ -42,11 +46,12 @@
* @see System#setSecurityManager(SecurityManager)
* @see PropertyPermission
*/
+@ResourceLock("java.lang.SecurityManager")
public class PropertyFilePropertySourceSecurityManagerIT {
@BeforeClass
public static void beforeClass() {
- Assert.assertTrue(TEST_FIXTURE_PATH, Files.exists(Paths.get(TEST_FIXTURE_PATH)));
+ assertTrue(TEST_FIXTURE_PATH, Files.exists(Paths.get(TEST_FIXTURE_PATH)));
}
@Rule
@@ -58,7 +63,7 @@
* Always throws a SecurityException for any environment variables permission
* check.
*/
- private class TestSecurityManager extends SecurityManager {
+ private static class TestSecurityManager extends SecurityManager {
@Override
public void checkPermission(final Permission permission) {
@@ -79,6 +84,6 @@
@Test
public void test() {
final PropertiesUtil propertiesUtil = new PropertiesUtil(TEST_FIXTURE_PATH);
- Assert.assertEquals(null, propertiesUtil.getStringProperty("a.1"));
+ assertNull(propertiesUtil.getStringProperty("a.1"));
}
}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceSecurityManagerIT.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceSecurityManagerIT.java
index ebab710..811222e 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceSecurityManagerIT.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceSecurityManagerIT.java
@@ -24,6 +24,9 @@
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+
+import static org.junit.Assert.assertNull;
/**
* Test related to https://issues.apache.org/jira/browse/LOG4J2-2274.
@@ -38,6 +41,7 @@
* @see System#setSecurityManager(SecurityManager)
* @see PropertyPermission
*/
+@ResourceLock("java.lang.SecurityManager")
public class SystemPropertiesPropertySourceSecurityManagerIT {
@Rule
@@ -47,7 +51,7 @@
* Always throws a SecurityException for any environment variables permission
* check.
*/
- private class TestSecurityManager extends SecurityManager {
+ private static class TestSecurityManager extends SecurityManager {
@Override
public void checkPermission(final Permission permission) {
if (permission instanceof PropertyPermission) {
@@ -81,6 +85,6 @@
@Test
public void test() {
final PropertiesUtil propertiesUtil = new PropertiesUtil("src/test/resources/PropertiesUtilTest.properties");
- Assert.assertEquals(null, propertiesUtil.getStringProperty("a.1"));
+ assertNull(propertiesUtil.getStringProperty("a.1"));
}
}
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceTest.java
index 2a3ede0..fb5d383 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceTest.java
@@ -19,6 +19,8 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.util.Properties;
import java.util.concurrent.ExecutionException;
@@ -30,6 +32,7 @@
* Tests https://issues.apache.org/jira/browse/LOG4J2-2276.
*/
@Tag("concurrency")
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
public class SystemPropertiesPropertySourceTest {
private static final int ITERATIONS = 10000;
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/Unbox1Test.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/Unbox1Test.java
index 4b41928..e217f72 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/util/Unbox1Test.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/Unbox1Test.java
@@ -19,12 +19,15 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the Unbox class.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
public class Unbox1Test {
@BeforeAll
public static void beforeClass() {
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/Unbox2ConfigurableTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/Unbox2ConfigurableTest.java
index 3ef3d6a..cf4376f 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/util/Unbox2ConfigurableTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/Unbox2ConfigurableTest.java
@@ -20,6 +20,9 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
+import org.junit.jupiter.api.parallel.Isolated;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
@@ -33,6 +36,7 @@
* enable the test, too.
*/
@EnabledIfSystemProperty(named = "test", matches = ".*Unbox2ConfigurableTest.*")
+@Isolated
public class Unbox2ConfigurableTest {
@BeforeAll
public static void beforeClass() {
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/CollectionLoggingTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/CollectionLoggingTest.java
index 791a370..80ab899 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/CollectionLoggingTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/CollectionLoggingTest.java
@@ -23,6 +23,9 @@
import org.apache.logging.log4j.test.appender.ListAppender;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
import java.net.NetworkInterface;
import java.net.SocketException;
@@ -41,6 +44,7 @@
}
@Test
+ @ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public void testSystemProperties(final LoggerContext context) {
final Logger logger = context.getLogger(CollectionLoggingTest.class.getName());
logger.error(System.getProperties());
@@ -49,6 +53,7 @@
}
@Test
+ @ResourceLock(value = Resources.SYSTEM_PROPERTIES, mode = ResourceAccessMode.READ)
public void testSimpleMap(final LoggerContext context) {
final Logger logger = context.getLogger(CollectionLoggingTest.class.getName());
logger.error(System.getProperties());
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderJAnsiMessageMain.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderJAnsiMessageMain.java
index f800806..3a150a0 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderJAnsiMessageMain.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderJAnsiMessageMain.java
@@ -29,6 +29,8 @@
import org.apache.logging.log4j.core.config.Configurator;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
/**
* Shows how to use ANSI escape codes to color messages. Each message is printed to the console in color, but the rest
@@ -59,6 +61,7 @@
* This is a @Test method to make it easy to run from a command line with {@code mvn -Dtest=FQCN test}
*/
@Test
+ @ResourceLock(Resources.SYSTEM_PROPERTIES)
public void test() {
test(null);
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
index 21af139..a6004e1 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
@@ -24,13 +24,10 @@
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.test.appender.InMemoryAppender;
import org.apache.logging.log4j.util.Strings;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
-/**
- *
- */
public class InMemoryAppenderTest {
@Test
@@ -68,15 +65,15 @@
.setMessage(new SimpleMessage("Test")) //
.build();
app.start();
- assertTrue("Appender did not start", app.isStarted());
+ assertTrue(app.isStarted(), "Appender did not start");
app.append(event);
app.append(event);
final String msg = app.toString();
- assertNotNull("No message", msg);
+ assertNotNull(msg, "No message");
final String expectedHeader = header == null ? "" : header;
final String expected = expectedHeader + "Test" + Strings.LINE_SEPARATOR + "Test" + Strings.LINE_SEPARATOR;
- assertTrue("Incorrect message: " + msg, msg.equals(expected));
+ assertEquals(expected, msg, "Incorrect message: " + msg);
app.stop();
- assertFalse("Appender did not stop", app.isStarted());
+ assertFalse(app.isStarted(), "Appender did not stop");
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java
deleted file mode 100644
index 8f2c4b7..0000000
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-package org.apache.logging.log4j.core.appender;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.CoreLoggerContexts;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
-import org.apache.logging.log4j.core.util.Integers;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.*;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests that logged strings and their location appear in the file,
- * that the file size is the next power of two of the specified mapped region length
- * and that the file is shrunk to its actual usage when done.
- *
- * @since 2.1
- */
-public class MemoryMappedFileAppenderLocationTest {
-
- final String LOGFILE = "target/MemoryMappedFileAppenderLocationTest.log";
-
- @Before
- public void before() {
- System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY,
- "MemoryMappedFileAppenderLocationTest.xml");
- }
-
- @Test
- public void testMemMapLocation() throws Exception {
- final File f = new File(LOGFILE);
- if (f.exists()) {
- assertTrue("deleted ok", f.delete());
- }
- assertTrue(!f.exists());
-
- final int expectedFileLength = Integers.ceilingNextPowerOfTwo(32000);
- assertEquals(32768, expectedFileLength);
-
- final Logger log = LogManager.getLogger();
- try {
- log.warn("Test log1");
- assertTrue(f.exists());
- assertEquals("initial length", expectedFileLength, f.length());
-
- log.warn("Test log2");
- assertEquals("not grown", expectedFileLength, f.length());
- } finally {
- CoreLoggerContexts.stopLoggerContext(false);
- }
- final int LINESEP = System.lineSeparator().length();
- assertEquals("Shrunk to actual used size", 474 + 2 * LINESEP, f.length());
-
- String line1, line2, line3;
- try (final BufferedReader reader = new BufferedReader(new FileReader(LOGFILE))) {
- line1 = reader.readLine();
- line2 = reader.readLine();
- line3 = reader.readLine();
- }
- assertNotNull(line1);
- assertThat(line1, containsString("Test log1"));
- final String location1 = "org.apache.logging.log4j.core.appender.MemoryMappedFileAppenderLocationTest.testMemMapLocation(MemoryMappedFileAppenderLocationTest.java:65)";
- assertThat(line1, containsString(location1));
-
- assertNotNull(line2);
- assertThat(line2, containsString("Test log2"));
- final String location2 = "org.apache.logging.log4j.core.appender.MemoryMappedFileAppenderLocationTest.testMemMapLocation(MemoryMappedFileAppenderLocationTest.java:69)";
- assertThat(line2, containsString(location2));
-
- assertNull("only two lines were logged", line3);
- }
-}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java
deleted file mode 100644
index 3c6d301..0000000
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-package org.apache.logging.log4j.core.appender;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.util.Arrays;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.CoreLoggerContexts;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.*;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests that logged strings appear in the file, that the initial file size is the specified specified region length,
- * that the file is extended by region length when necessary, and that the file is shrunk to its actual usage when done.
- *
- * @since 2.1
- */
-public class MemoryMappedFileAppenderRemapTest {
-
- final String LOGFILE = "target/MemoryMappedFileAppenderRemapTest.log";
-
- @Before
- public void before() {
- System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, "MemoryMappedFileAppenderRemapTest.xml");
- }
-
- @Test
- public void testMemMapExtendsIfNeeded() throws Exception {
- final File f = new File(LOGFILE);
- if (f.exists()) {
- assertTrue(f.delete());
- }
- assertTrue(!f.exists());
-
- final Logger log = LogManager.getLogger();
- final char[] text = new char[200];
- Arrays.fill(text, 'A');
- try {
- log.warn("Test log1");
- assertTrue(f.exists());
- assertEquals("initial length", 256, f.length());
-
- log.warn(new String(text));
- assertEquals("grown", 256 * 2, f.length());
-
- log.warn(new String(text));
- assertEquals("grown again", 256 * 3, f.length());
- } finally {
- CoreLoggerContexts.stopLoggerContext(false);
- }
- final int LINESEP = System.lineSeparator().length();
- assertEquals("Shrunk to actual used size", 658 + 3 * LINESEP, f.length());
-
- String line1, line2, line3, line4;
- try (final BufferedReader reader = new BufferedReader(new FileReader(LOGFILE))) {
- line1 = reader.readLine();
- line2 = reader.readLine();
- line3 = reader.readLine();
- line4 = reader.readLine();
- }
- assertNotNull(line1);
- assertThat(line1, containsString("Test log1"));
-
- assertNotNull(line2);
- assertThat(line2, containsString(new String(text)));
-
- assertNotNull(line3);
- assertThat(line3, containsString(new String(text)));
-
- assertNull("only three lines were logged", line4);
- }
-}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java
deleted file mode 100644
index 277e046..0000000
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-package org.apache.logging.log4j.core.appender;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.CoreLoggerContexts;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.*;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests that logged strings appear in the file,
- * that the default file size is used if not specified
- * and that the file is shrunk to its actual usage when done.
- *
- * @since 2.1
- */
-public class MemoryMappedFileAppenderSimpleTest {
-
- final String LOGFILE = "target/MemoryMappedFileAppenderTest.log";
-
- @Before
- public void before() {
- System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, "MemoryMappedFileAppenderTest.xml");
- }
-
- @Test
- public void testMemMapBasics() throws Exception {
- final File f = new File(LOGFILE);
- if (f.exists()) {
- assertTrue(f.delete());
- }
- assertTrue(!f.exists());
-
- final Logger log = LogManager.getLogger();
- try {
- log.warn("Test log1");
- assertTrue(f.exists());
- assertEquals("initial length", MemoryMappedFileManager.DEFAULT_REGION_LENGTH, f.length());
-
- log.warn("Test log2");
- assertEquals("not grown", MemoryMappedFileManager.DEFAULT_REGION_LENGTH, f.length());
- } finally {
- CoreLoggerContexts.stopLoggerContext(false);
- }
- final int LINESEP = System.lineSeparator().length();
- assertEquals("Shrunk to actual used size", 186 + 2 * LINESEP, f.length());
-
- String line1, line2, line3;
- try (final BufferedReader reader = new BufferedReader(new FileReader(LOGFILE))) {
- line1 = reader.readLine();
- line2 = reader.readLine();
- line3 = reader.readLine();
- }
- assertNotNull(line1);
- assertThat(line1, containsString("Test log1"));
-
- assertNotNull(line2);
- assertThat(line2, containsString("Test log2"));
-
- assertNull("only two lines were logged", line3);
- }
-}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderTest.java
new file mode 100644
index 0000000..9dcf88e
--- /dev/null
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderTest.java
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.appender;
+
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.util.Integers;
+import org.apache.logging.log4j.junit.CleanUpFiles;
+import org.apache.logging.log4j.junit.LoggerContextSource;
+import org.junit.jupiter.api.Test;
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * Tests that logged strings appear in the file, that the initial file size is the specified specified region length,
+ * that the file is extended by region length when necessary, and that the file is shrunk to its actual usage when done.
+ *
+ * @since 2.1
+ */
+@CleanUpFiles({
+ "target/MemoryMappedFileAppenderTest.log",
+ "target/MemoryMappedFileAppenderRemapTest.log",
+ "target/MemoryMappedFileAppenderLocationTest.log"
+})
+public class MemoryMappedFileAppenderTest {
+
+ @Test
+ @LoggerContextSource("MemoryMappedFileAppenderTest.xml")
+ public void testMemMapBasics(final LoggerContext context) throws Exception {
+ final Logger log = context.getLogger(getClass());
+ final Path logFile = Paths.get("target", "MemoryMappedFileAppenderTest.log");
+ try {
+ log.warn("Test log1");
+ assertTrue(Files.exists(logFile));
+ assertEquals(MemoryMappedFileManager.DEFAULT_REGION_LENGTH, Files.size(logFile));
+ log.warn("Test log2");
+ assertEquals(MemoryMappedFileManager.DEFAULT_REGION_LENGTH, Files.size(logFile));
+ } finally {
+ context.stop();
+ }
+ final int LINESEP = System.lineSeparator().length();
+ assertEquals(18 + 2 * LINESEP, Files.size(logFile));
+
+ final List<String> lines = Files.readAllLines(logFile);
+ assertThat(lines, both(hasSize(2)).and(contains("Test log1", "Test log2")));
+ }
+
+ @Test
+ @LoggerContextSource("MemoryMappedFileAppenderRemapTest.xml")
+ public void testMemMapExtendsIfNeeded(final LoggerContext context) throws Exception {
+ final Logger log = context.getLogger(getClass());
+ final Path logFile = Paths.get("target", "MemoryMappedFileAppenderRemapTest.log");
+ final char[] text = new char[256];
+ Arrays.fill(text, 'A');
+ final String str = new String(text);
+ try {
+ log.warn("Test log1");
+ assertTrue(Files.exists(logFile));
+ assertEquals(256, Files.size(logFile));
+ log.warn(str);
+ assertEquals(2 * 256, Files.size(logFile));
+ log.warn(str);
+ assertEquals(3 * 256, Files.size(logFile));
+ } finally {
+ context.stop();
+ }
+ assertEquals(521 + 3 * System.lineSeparator().length(), Files.size(logFile), "Expected file size to shrink");
+
+ final List<String> lines = Files.readAllLines(logFile);
+ assertThat(lines, both(hasSize(3)).and(contains("Test log1", str, str)));
+ }
+
+ @Test
+ @LoggerContextSource("MemoryMappedFileAppenderLocationTest.xml")
+ void testMemMapLocation(final LoggerContext context) throws Exception {
+ final Logger log = context.getLogger(getClass());
+ final Path logFile = Paths.get("target", "MemoryMappedFileAppenderLocationTest.log");
+ final int expectedFileLength = Integers.ceilingNextPowerOfTwo(32000);
+ assertEquals(32768, expectedFileLength);
+ try {
+ log.warn("Test log1");
+ assertTrue(Files.exists(logFile));
+ assertEquals(expectedFileLength, Files.size(logFile));
+ log.warn("Test log2");
+ assertEquals(expectedFileLength, Files.size(logFile));
+ } finally {
+ context.stop();
+ }
+ assertEquals(272 + 2 * System.lineSeparator().length(), Files.size(logFile), "Expected file size to shrink");
+
+ final List<String> lines = Files.readAllLines(logFile);
+ assertThat(lines, both(hasSize(2)).and(contains(
+ "org.apache.logging.log4j.core.appender.MemoryMappedFileAppenderTest.testMemMapLocation(MemoryMappedFileAppenderTest.java:104): Test log1",
+ "org.apache.logging.log4j.core.appender.MemoryMappedFileAppenderTest.testMemMapLocation(MemoryMappedFileAppenderTest.java:107): Test log2"
+ )));
+ }
+}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManagerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManagerTest.java
index 0e04699..8cf8ef0 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManagerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManagerTest.java
@@ -16,17 +16,16 @@
*/
package org.apache.logging.log4j.core.appender;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
+
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the MemoryMappedFileManager class.
@@ -35,12 +34,13 @@
*/
public class MemoryMappedFileManagerTest {
+ @TempDir
+ File tempDir;
+
@Test
public void testRemapAfterInitialMapSizeExceeded() throws IOException {
final int mapSize = 64; // very small, on purpose
- final File file = File.createTempFile("log4j2", "test");
- file.deleteOnExit();
- assertEquals(0, file.length());
+ final File file = new File(tempDir, "memory-mapped-file.bin");
final boolean append = false;
final boolean immediateFlush = false;
@@ -57,8 +57,8 @@
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
String line = reader.readLine();
for (int i = 0; i < 1000; i++) {
- assertNotNull("line", line);
- assertTrue("line incorrect", line.contains("Message " + i));
+ assertNotNull(line, "line");
+ assertTrue(line.contains("Message " + i), "line incorrect");
line = reader.readLine();
}
}
@@ -66,9 +66,7 @@
@Test
public void testAppendDoesNotOverwriteExistingFile() throws IOException {
- final File file = File.createTempFile("log4j2", "test");
- file.deleteOnExit();
- assertEquals(0, file.length());
+ final File file = new File(tempDir, "memory-mapped-file.bin");
final int initialLength = 4 * 1024;
@@ -77,7 +75,7 @@
fos.write(new byte[initialLength], 0, initialLength);
fos.flush();
}
- assertEquals("all flushed to disk", initialLength, file.length());
+ assertEquals(initialLength, file.length(), "all flushed to disk");
final boolean isAppend = true;
final boolean immediateFlush = false;
@@ -86,6 +84,6 @@
manager.writeBytes(new byte[initialLength], 0, initialLength);
}
final int expected = initialLength * 2;
- assertEquals("appended, not overwritten", expected, file.length());
+ assertEquals(expected, file.length(), "appended, not overwritten");
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamManagerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamManagerTest.java
index e13e075..ef45d92 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamManagerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamManagerTest.java
@@ -20,28 +20,24 @@
import java.util.List;
import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.junit.LoggerContextSource;
import org.apache.logging.log4j.status.StatusData;
import org.apache.logging.log4j.status.StatusLogger;
-import org.junit.ClassRule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* OutputStreamManager Tests.
*/
public class OutputStreamManagerTest {
- private static final String CONFIG = "multipleIncompatibleAppendersTest.xml";
-
- @ClassRule
- public static LoggerContextRule context = new LoggerContextRule(CONFIG);
@Test
- public void narrow() throws Exception {
- final Logger logger = LogManager.getLogger(OutputStreamManagerTest.class);
+ @LoggerContextSource("multipleIncompatibleAppendersTest.xml")
+ public void narrow(final LoggerContext context) {
+ final Logger logger = context.getLogger(OutputStreamManagerTest.class);
logger.info("test");
final List<StatusData> statusData = StatusLogger.getLogger().getStatusData();
StatusData data = statusData.get(0);
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
index fac3171..62b2bec 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
@@ -23,19 +23,18 @@
import java.io.RandomAccessFile;
import org.apache.logging.log4j.core.util.NullOutputStream;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the RandomAccessFileManager class.
*/
public class RandomAccessFileManagerTest {
- @ClassRule
- public static TemporaryFolder folder = new TemporaryFolder();
+ @TempDir
+ File tempDir;
/**
* Test method for
@@ -44,7 +43,7 @@
*/
@Test
public void testWrite_multiplesOfBufferSize() throws IOException {
- final File file = folder.newFile();
+ final File file = new File(tempDir, "random-access-file.bin");
try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
final OutputStream os = NullOutputStream.getInstance();
final RandomAccessFileManager manager = new RandomAccessFileManager(null, raf, file.getName(),
@@ -56,7 +55,8 @@
// all data is written if exceeds buffer size
assertEquals(RandomAccessFileManager.DEFAULT_BUFFER_SIZE * 3, raf.length());
- }}
+ }
+ }
/**
* Test method for
@@ -65,7 +65,7 @@
*/
@Test
public void testWrite_dataExceedingBufferSize() throws IOException {
- final File file = folder.newFile();
+ final File file = new File(tempDir, "random-access-file.bin");
try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
final OutputStream os = NullOutputStream.getInstance();
final RandomAccessFileManager manager = new RandomAccessFileManager(null, raf, file.getName(),
@@ -79,11 +79,12 @@
manager.flush();
assertEquals(size, raf.length()); // all data written to file now
- }}
+ }
+ }
@Test
public void testConfigurableBufferSize() throws IOException {
- final File file = folder.newFile();
+ final File file = new File(tempDir, "random-access-file.bin");
try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
final OutputStream os = NullOutputStream.getInstance();
final int bufferSize = 4 * 1024;
@@ -94,11 +95,12 @@
// check the resulting buffer size is what was requested
assertEquals(bufferSize, manager.getBufferSize());
- }}
+ }
+ }
@Test
public void testWrite_dataExceedingMinBufferSize() throws IOException {
- final File file = folder.newFile();
+ final File file = new File(tempDir, "random-access-file.bin");
try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
final OutputStream os = NullOutputStream.getInstance();
final int bufferSize = 1;
@@ -113,12 +115,13 @@
manager.flush();
assertEquals(size, raf.length()); // all data written to file now
- }}
+ }
+ }
@Test
public void testAppendDoesNotOverwriteExistingFile() throws IOException {
final boolean isAppend = true;
- final File file = folder.newFile();
+ final File file = new File(tempDir, "random-access-file.bin");
assertEquals(0, file.length());
final byte[] bytes = new byte[4 * 1024];
@@ -128,12 +131,12 @@
fos.write(bytes, 0, bytes.length);
fos.flush();
}
- assertEquals("all flushed to disk", bytes.length, file.length());
+ assertEquals(bytes.length, file.length(), "all flushed to disk");
final RandomAccessFileManager manager = RandomAccessFileManager.getFileManager(
file.getAbsolutePath(), isAppend, true, RandomAccessFileManager.DEFAULT_BUFFER_SIZE, null, null, null);
manager.write(bytes, 0, bytes.length, true);
final int expected = bytes.length * 2;
- assertEquals("appended, not overwritten", expected, file.length());
+ assertEquals(expected, file.length(), "appended, not overwritten");
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
index 01c5869..b16934f 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
@@ -32,12 +32,8 @@
import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
import org.apache.logging.log4j.core.layout.PatternLayout;
import org.apache.logging.log4j.plugins.util.Builder;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-/**
- * Class Description goes here.
- * Created by rgoers on 2019-02-02
- */
public class ReconfigureAppenderTest {
private RollingFileAppender appender;
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ScriptAppenderSelectorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ScriptAppenderSelectorTest.java
index 62a29b6..6b3800f 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ScriptAppenderSelectorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ScriptAppenderSelectorTest.java
@@ -16,79 +16,44 @@
*/
package org.apache.logging.log4j.core.appender;
-import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.MarkerManager;
-import org.apache.logging.log4j.categories.Scripts;
-import org.apache.logging.log4j.core.Logger;
-import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.apache.logging.log4j.core.config.Configuration;
+import org.apache.logging.log4j.junit.LoggerContextSource;
+import org.apache.logging.log4j.spi.ExtendedLogger;
import org.apache.logging.log4j.test.appender.ListAppender;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.hasSize;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
-@RunWith(Parameterized.class)
-@Category(Scripts.Groovy.class)
public class ScriptAppenderSelectorTest {
- @Parameterized.Parameters(name = "{0}")
- public static Object[][] getParameters() {
- // @formatter:off
- return new Object[][] {
- { "log4j-appender-selector-groovy.xml" },
- { "log4j-appender-selector-javascript.xml" },
- };
- // @formatter:on
+ @Test
+ @LoggerContextSource("log4j-appender-selector-javascript.xml")
+ void testJavaScriptSelector(final Configuration config) {
+ verify(config);
}
- @Rule
- public final LoggerContextRule loggerContextRule;
-
- public ScriptAppenderSelectorTest(final String configLocation) {
- this.loggerContextRule = new LoggerContextRule(configLocation);
+ @Test
+ @LoggerContextSource("log4j-appender-selector-groovy.xml")
+ void testGroovySelector(final Configuration config) {
+ verify(config);
}
- private ListAppender getListAppender() {
- return loggerContextRule.getListAppender("SelectIt");
- }
-
- private void logAndCheck() {
- final Marker marker = MarkerManager.getMarker("HEXDUMP");
- final Logger logger = loggerContextRule.getLogger(ScriptAppenderSelectorTest.class);
+ static void verify(final Configuration config) {
+ assertNull(config.getAppender("List1"), "List1 appender should not be initialized");
+ assertNull(config.getAppender("List2"), "List2 appender should not be initialized");
+ final ListAppender listAppender = config.getAppender("SelectIt");
+ assertNotNull(listAppender);
+ final ExtendedLogger logger = config.getLoggerContext().getLogger(ScriptAppenderSelectorTest.class);
logger.error("Hello");
- final ListAppender listAppender = getListAppender();
- assertEquals("Incorrect number of events", 1, listAppender.getEvents().size());
+ assertThat(listAppender.getEvents(), hasSize(1));
logger.error("World");
- assertEquals("Incorrect number of events", 2, listAppender.getEvents().size());
- logger.error(marker, "DEADBEEF");
- assertEquals("Incorrect number of events", 3, listAppender.getEvents().size());
+ assertThat(listAppender.getEvents(), hasSize(2));
+ logger.error(MarkerManager.getMarker("HEXDUMP"), "DEADBEEF");
+ assertThat(listAppender.getEvents(), hasSize(3));
}
- @Test(expected = AssertionError.class)
- public void testAppender1Absence() {
- loggerContextRule.getListAppender("List1");
- }
-
- @Test(expected = AssertionError.class)
- public void testAppender2Absence() {
- loggerContextRule.getListAppender("List2");
- }
-
- @Test
- public void testAppenderPresence() {
- getListAppender();
- }
-
- @Test
- public void testLogging1() {
- logAndCheck();
- }
-
- @Test
- public void testLogging2() {
- logAndCheck();
- }
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderBuilderTest.java
index bdfd35a..3636af3 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderBuilderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderBuilderTest.java
@@ -16,9 +16,9 @@
*/
package org.apache.logging.log4j.core.appender;
-import org.apache.logging.log4j.core.appender.SocketAppender;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class SocketAppenderBuilderTest {
@@ -27,6 +27,7 @@
*/
@Test
public void testDefaultImmediateFlush() {
- Assert.assertTrue(SocketAppender.newBuilder().isImmediateFlush());
+ assertTrue(SocketAppender.newBuilder().isImmediateFlush(),
+ "Regression of LOG4J2-1620: default value for immediateFlush should be true");
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/TlsSyslogFrameTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/TlsSyslogFrameTest.java
index 32ad5a9..03d23c1 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/TlsSyslogFrameTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/TlsSyslogFrameTest.java
@@ -19,8 +19,10 @@
import java.nio.charset.StandardCharsets;
import org.apache.logging.log4j.util.Chars;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
public class TlsSyslogFrameTest {
private static final String TEST_MESSAGE = "The quick brown fox jumps over the lazy dog";
@@ -29,16 +31,16 @@
public void equals() {
final TlsSyslogFrame first = new TlsSyslogFrame(TEST_MESSAGE);
final TlsSyslogFrame second = new TlsSyslogFrame(TEST_MESSAGE);
- Assert.assertEquals(first, second);
- Assert.assertEquals(first.hashCode(), second.hashCode());
+ assertEquals(first, second);
+ assertEquals(first.hashCode(), second.hashCode());
}
@Test
public void notEquals() {
final TlsSyslogFrame first = new TlsSyslogFrame("A message");
final TlsSyslogFrame second = new TlsSyslogFrame("B message");
- Assert.assertNotEquals(first, second);
- Assert.assertNotEquals(first.hashCode(), second.hashCode());
+ assertNotEquals(first, second);
+ assertNotEquals(first.hashCode(), second.hashCode());
}
@Test
@@ -46,6 +48,6 @@
final TlsSyslogFrame frame = new TlsSyslogFrame(TEST_MESSAGE);
final int length = TEST_MESSAGE.getBytes(StandardCharsets.UTF_8).length;
final String expected = Integer.toString(length) + Chars.SPACE + TEST_MESSAGE;
- Assert.assertEquals(expected, frame.toString());
+ assertEquals(expected, frame.toString());
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/WriterAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/WriterAppenderTest.java
index ac29fdf..392862e 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/WriterAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/WriterAppenderTest.java
@@ -22,6 +22,7 @@
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
+import java.lang.reflect.Method;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -29,10 +30,12 @@
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
/**
* Tests {@link WriterAppender}.
@@ -41,11 +44,15 @@
private static final String TEST_MSG = "FOO ERROR";
- @Rule
- public TestName testName = new TestName();
+ private String testMethodName;
+
+ @BeforeEach
+ void setUp(final TestInfo testInfo) {
+ testMethodName = testInfo.getTestMethod().map(Method::getName).orElseGet(testInfo::getDisplayName);
+ }
private String getName(final Writer writer) {
- return writer.getClass().getSimpleName() + "." + testName.getMethodName();
+ return writer.getClass().getSimpleName() + "." + testMethodName;
}
private void test(final ByteArrayOutputStream out, final Writer writer) {
@@ -54,7 +61,7 @@
final Logger logger = LogManager.getLogger(name);
logger.error(TEST_MSG);
final String actual = out.toString();
- Assert.assertTrue(actual, actual.contains(TEST_MSG));
+ assertThat(actual, containsString(TEST_MSG));
}
private void test(final Writer writer) {
@@ -63,7 +70,7 @@
final Logger logger = LogManager.getLogger(name);
logger.error(TEST_MSG);
final String actual = writer.toString();
- Assert.assertTrue(actual, actual.contains(TEST_MSG));
+ assertThat(actual, containsString(TEST_MSG));
}
private void addAppender(final Writer writer, final String writerName) {
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/LoggerNameLevelRewritePolicyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/LoggerNameLevelRewritePolicyTest.java
index a30a0e6..fedd544 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/LoggerNameLevelRewritePolicyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/LoggerNameLevelRewritePolicyTest.java
@@ -21,8 +21,9 @@
import org.apache.logging.log4j.core.impl.Log4jLogEvent;
import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.message.SimpleMessage;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* Tests {@link LoggerNameLevelRewritePolicy}.
@@ -44,26 +45,26 @@
final LoggerNameLevelRewritePolicy updatePolicy = LoggerNameLevelRewritePolicy.createPolicy(loggerNameRewrite,
rewrite);
LogEvent rewritten = updatePolicy.rewrite(logEvent);
- Assert.assertEquals(Level.DEBUG, rewritten.getLevel());
+ assertEquals(Level.DEBUG, rewritten.getLevel());
logEvent = Log4jLogEvent.newBuilder().setLoggerName(loggerNameRewrite)
.setLoggerFqcn("LoggerNameLevelRewritePolicyTest.testUpdate()").setLevel(Level.WARN)
.setMessage(new SimpleMessage("Test")).setThrown(new RuntimeException("test")).setThreadName("none")
.setTimeMillis(1).build();
rewritten = updatePolicy.rewrite(logEvent);
- Assert.assertEquals(Level.INFO, rewritten.getLevel());
+ assertEquals(Level.INFO, rewritten.getLevel());
final String loggerNameReadOnly = "com.nochange";
logEvent = Log4jLogEvent.newBuilder().setLoggerName(loggerNameReadOnly)
.setLoggerFqcn("LoggerNameLevelRewritePolicyTest.testUpdate()").setLevel(Level.INFO)
.setMessage(new SimpleMessage("Test")).setThrown(new RuntimeException("test")).setThreadName("none")
.setTimeMillis(1).build();
rewritten = updatePolicy.rewrite(logEvent);
- Assert.assertEquals(Level.INFO, rewritten.getLevel());
+ assertEquals(Level.INFO, rewritten.getLevel());
logEvent = Log4jLogEvent.newBuilder().setLoggerName(loggerNameReadOnly)
.setLoggerFqcn("LoggerNameLevelRewritePolicyTest.testUpdate()").setLevel(Level.WARN)
.setMessage(new SimpleMessage("Test")).setThrown(new RuntimeException("test")).setThreadName("none")
.setTimeMillis(1).build();
rewritten = updatePolicy.rewrite(logEvent);
- Assert.assertEquals(Level.WARN, rewritten.getLevel());
+ assertEquals(Level.WARN, rewritten.getLevel());
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicyTest.java
index f311007..c9f0c51 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicyTest.java
@@ -16,16 +16,6 @@
*/
package org.apache.logging.log4j.core.appender.rewrite;
-import static org.apache.logging.log4j.hamcrest.MapMatchers.hasSize;
-import static org.hamcrest.Matchers.hasEntry;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.MarkerManager;
import org.apache.logging.log4j.core.LogEvent;
@@ -38,8 +28,18 @@
import org.apache.logging.log4j.spi.MutableThreadContextStack;
import org.apache.logging.log4j.spi.ThreadContextStack;
import org.apache.logging.log4j.util.StringMap;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.apache.logging.log4j.hamcrest.MapMatchers.hasSize;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.hasEntry;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class MapRewritePolicyTest {
@@ -48,7 +48,7 @@
private static KeyValuePair[] rewrite;
private static LogEvent logEvent0, logEvent1, logEvent2, logEvent3;
- @BeforeClass
+ @BeforeAll
public static void setupClass() {
stringMap.putValue("test1", "one");
stringMap.putValue("test2", "two");
@@ -93,7 +93,7 @@
final MapRewritePolicy addPolicy = MapRewritePolicy.createPolicy("Add", rewrite);
LogEvent rewritten = addPolicy.rewrite(logEvent0);
compareLogEvents(logEvent0, rewritten);
- assertEquals("Simple log message changed", logEvent0.getMessage(), rewritten.getMessage());
+ assertEquals(logEvent0.getMessage(), rewritten.getMessage(), "Simple log message changed");
rewritten = addPolicy.rewrite(logEvent1);
compareLogEvents(logEvent1, rewritten);
@@ -113,7 +113,7 @@
final MapRewritePolicy updatePolicy = MapRewritePolicy.createPolicy("Update", rewrite);
LogEvent rewritten = updatePolicy.rewrite(logEvent0);
compareLogEvents(logEvent0, rewritten);
- assertEquals("Simple log message changed", logEvent0.getMessage(), rewritten.getMessage());
+ assertEquals(logEvent0.getMessage(), rewritten.getMessage(), "Simple log message changed");
rewritten = updatePolicy.rewrite(logEvent1);
compareLogEvents(logEvent1, rewritten);
@@ -133,7 +133,7 @@
final MapRewritePolicy addPolicy = MapRewritePolicy.createPolicy(null, rewrite);
LogEvent rewritten = addPolicy.rewrite(logEvent0);
compareLogEvents(logEvent0, rewritten);
- assertEquals("Simple log message changed", logEvent0.getMessage(), rewritten.getMessage());
+ assertEquals(logEvent0.getMessage(), rewritten.getMessage(), "Simple log message changed");
rewritten = addPolicy.rewrite(logEvent1);
compareLogEvents(logEvent1, rewritten);
@@ -164,18 +164,18 @@
@SuppressWarnings("deprecation")
private void compareLogEvents(final LogEvent orig, final LogEvent changed) {
// Ensure that everything but the Mapped Data is still the same
- assertEquals("LoggerName changed", orig.getLoggerName(), changed.getLoggerName());
- assertEquals("Marker changed", orig.getMarker(), changed.getMarker());
- assertEquals("FQCN changed", orig.getLoggerFqcn(), changed.getLoggerFqcn());
- assertEquals("Level changed", orig.getLevel(), changed.getLevel());
- assertArrayEquals("Throwable changed",
- orig.getThrown() == null ? null : orig.getThrownProxy().getExtendedStackTrace(),
- changed.getThrown() == null ? null : changed.getThrownProxy().getExtendedStackTrace()
- );
- assertEquals("ContextData changed", orig.getContextData(), changed.getContextData());
- assertEquals("ContextStack changed", orig.getContextStack(), changed.getContextStack());
- assertEquals("ThreadName changed", orig.getThreadName(), changed.getThreadName());
- assertEquals("Source changed", orig.getSource(), changed.getSource());
- assertEquals("Millis changed", orig.getTimeMillis(), changed.getTimeMillis());
+ assertEquals(orig.getLoggerName(), changed.getLoggerName(), "LoggerName changed");
+ assertEquals(orig.getMarker(), changed.getMarker(), "Marker changed");
+ assertEquals(orig.getLoggerFqcn(), changed.getLoggerFqcn(), "FQCN changed");
+ assertEquals(orig.getLevel(), changed.getLevel(), "Level changed");
+ assertArrayEquals(
+ orig.getThrown() == null ? null : orig.getThrownProxy().getExtendedStackTrace(),
+ changed.getThrown() == null ? null : changed.getThrownProxy().getExtendedStackTrace(),
+ "Throwable changed");
+ assertEquals(orig.getContextData(), changed.getContextData(), "ContextData changed");
+ assertEquals(orig.getContextStack(), changed.getContextStack(), "ContextStack changed");
+ assertEquals(orig.getThreadName(), changed.getThreadName(), "ThreadName changed");
+ assertEquals(orig.getSource(), changed.getSource(), "Source changed");
+ assertEquals(orig.getTimeMillis(), changed.getTimeMillis(), "Millis changed");
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppenderTest.java
index 73082e9..9a94289 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppenderTest.java
@@ -16,51 +16,33 @@
*/
package org.apache.logging.log4j.core.appender.rewrite;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import org.apache.logging.log4j.EventLogger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.hamcrest.MapMatchers;
+import org.apache.logging.log4j.junit.LoggerContextSource;
+import org.apache.logging.log4j.junit.Named;
+import org.apache.logging.log4j.message.Message;
+import org.apache.logging.log4j.message.StructuredDataMessage;
+import org.apache.logging.log4j.test.appender.ListAppender;
+import org.junit.jupiter.api.Test;
import java.util.List;
import java.util.Map;
-import org.apache.logging.log4j.EventLogger;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.junit.LoggerContextRule;
-import org.apache.logging.log4j.message.Message;
-import org.apache.logging.log4j.message.StructuredDataMessage;
-import org.apache.logging.log4j.test.appender.ListAppender;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.*;
+import static org.junit.jupiter.api.Assertions.*;
-/**
- *
- */
+@LoggerContextSource("log4j-rewrite.xml")
public class RewriteAppenderTest {
- private ListAppender app;
- private ListAppender app2;
+ private final ListAppender app;
+ private final ListAppender app2;
- @ClassRule
- public static LoggerContextRule init = new LoggerContextRule("log4j-rewrite.xml");
-
- @Before
- public void setUp() throws Exception {
- app = init.getListAppender("List");
- app2 = init.getListAppender("List2");
- }
-
- @After
- public void tearDown() throws Exception {
- if (app != null) {
- app.clear();
- }
- if (app2 != null) {
- app2.clear();
- }
+ public RewriteAppenderTest(@Named("List") final ListAppender app, @Named("List2") final ListAppender app2) {
+ this.app = app.clear();
+ this.app2 = app2.clear();
}
@Test
@@ -70,44 +52,44 @@
msg.put("Key2", "Value2");
EventLogger.logEvent(msg);
final List<LogEvent> list = app.getEvents();
- assertNotNull("No events generated", list);
- assertTrue("Incorrect number of events. Expected 1, got " + list.size(), list.size() == 1);
+ assertThat(list, hasSize(1));
final LogEvent event = list.get(0);
final Message m = event.getMessage();
- assertTrue("Message is not a StringMapMessage: " + m.getClass(), m instanceof StructuredDataMessage);
+ assertThat(m, instanceOf(StructuredDataMessage.class));
final StructuredDataMessage message = (StructuredDataMessage) m;
final Map<String, String> map = message.getData();
- assertNotNull("No Map", map);
- assertTrue("Incorrect number of map entries, expected 3 got " + map.size(), map.size() == 3);
+ assertNotNull(map, "No Map");
+ assertThat(map, MapMatchers.hasSize(3));
final String value = map.get("Key1");
assertEquals("Apache", value);
}
@Test
- public void testProperties() {
- final Logger logger = LogManager.getLogger(RewriteAppenderTest.class);
+ public void testProperties(final LoggerContext context) {
+ final Logger logger = context.getLogger(RewriteAppenderTest.class);
logger.debug("Test properties rewrite");
final List<String> list = app2.getMessages();
- assertNotNull("No events generated", list);
- assertTrue("Incorrect number of events. Expected 1, got " + list.size(), list.size() == 1);
- assertFalse("Did not resolve user name", list.get(0).contains("{user.dir}"));
+ assertThat(list, hasSize(1));
+ assertThat(list.get(0), not(containsString("{user.dir}")));
+ assertNotNull(list, "No events generated");
+ assertEquals(list.size(), 1, "Incorrect number of events. Expected 1, got " + list.size());
+ assertFalse(list.get(0).contains("{user."), "Did not resolve user name");
}
@Test
- public void testFilter() {
+ public void testFilter(final LoggerContext context) {
StructuredDataMessage msg = new StructuredDataMessage("Test", "This is a test", "Service");
msg.put("Key1", "Value2");
msg.put("Key2", "Value1");
- final Logger logger = LogManager.getLogger("org.apache.logging.log4j.core.Logging");
+ final Logger logger = context.getLogger("org.apache.logging.log4j.core.Logging");
logger.debug(msg);
msg = new StructuredDataMessage("Test", "This is a test", "Service");
msg.put("Key1", "Value1");
msg.put("Key2", "Value2");
logger.trace(msg);
- final List<LogEvent> list = app.getEvents();
- assertTrue("Events were generated", list == null || list.isEmpty());
+ assertThat(app.getEvents(), empty());
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicyTest.java
index 04085ae..b8c36f3 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicyTest.java
@@ -22,9 +22,10 @@
import org.apache.logging.log4j.core.config.Configurator;
import org.apache.logging.log4j.core.config.NullConfiguration;
import org.apache.logging.log4j.core.layout.PatternLayout;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
public class CronTriggeringPolicyTest {
@@ -36,7 +37,7 @@
// @Rule
// public CleanFiles cleanFiles = new CleanFiles("testcmd1.log", "testcmd2.log", "testcmd3.log");
- @Before
+ @BeforeEach
public void before() {
configuration = new NullConfiguration();
}
@@ -61,7 +62,7 @@
.setConfiguration(configuration)
.build();
// @formatter:on
- Assert.assertNotNull(raf);
+ assertNotNull(raf);
}
/**
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/EligibleFilesTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/EligibleFilesTest.java
index 51fae36..4b99248 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/EligibleFilesTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/EligibleFilesTest.java
@@ -20,9 +20,9 @@
import java.util.Map;
import org.apache.logging.log4j.core.pattern.NotANumber;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Test getEligibleFiles method.
@@ -34,11 +34,11 @@
final String path = "target/test-classes/rolloverPath/log4j.txt.20170112_09-" + NotANumber.VALUE + ".gz";
final TestRolloverStrategy strategy = new TestRolloverStrategy();
final Map<Integer, Path> files = strategy.findFilesInPath(path);
- assertTrue("No files found", files.size() > 0);
- assertTrue("Incorrect number of files found. Should be 30, was " + files.size(), files.size() == 30);
+ assertTrue(files.size() > 0, "No files found");
+ assertEquals(30, files.size(), "Incorrect number of files found. Should be 30, was " + files.size());
}
- private class TestRolloverStrategy extends AbstractRolloverStrategy {
+ private static class TestRolloverStrategy extends AbstractRolloverStrategy {
public TestRolloverStrategy() {
super(null);
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/FileSizeTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/FileSizeTest.java
index 8121ce7..11f573b 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/FileSizeTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/FileSizeTest.java
@@ -16,8 +16,9 @@
*/
package org.apache.logging.log4j.core.appender.rolling;
-import org.junit.Test;
-import static org.junit.Assert.*;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests {@link FileSize}.
@@ -27,10 +28,10 @@
private final static long EXPECTED = 10 * 1024;
@Test
- public void testFileSize() throws Exception {
+ public void testFileSize() {
long value = FileSize.parse("10KB", 0);
- assertTrue("unexpected value " + value, value == EXPECTED);
+ assertEquals(EXPECTED, value, "unexpected value " + value);
value = FileSize.parse("10 KB", 0);
- assertTrue("unexpected value " + value, value == EXPECTED);
+ assertEquals(EXPECTED, value, "unexpected value " + value);
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
index 28353c3..f998c5d 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
@@ -16,58 +16,50 @@
*/
package org.apache.logging.log4j.core.appender.rolling;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.InputStream;
-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;
-import java.util.Arrays;
-
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.DefaultConfiguration;
import org.apache.logging.log4j.core.layout.PatternLayout;
import org.apache.logging.log4j.core.time.internal.format.FastDateFormat;
-import org.apache.logging.log4j.junit.CleanFolders;
-import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
+import java.nio.file.attribute.BasicFileAttributeView;
+import java.nio.file.attribute.FileTime;
+import java.time.Duration;
+import java.time.Instant;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* Tests {@link OnStartupTriggeringPolicy}.
*/
-// @Ignore
public class OnStartupTriggeringPolicyTest {
- private static final String TARGET_FOLDER = "target/rollOnStartup";
- private static final String TARGET_FILE = TARGET_FOLDER + "/testfile";
- private static final String TARGET_PATTERN = TARGET_FOLDER + "/test1-%d{MM-dd-yyyy}-%i.log";
- private static final String ROLLED_FILE_PREFIX = TARGET_FOLDER + "/test1-";
- private static final String ROLLED_FILE_SUFFIX = "-1.log";
+ private static final String TARGET_PATTERN = "/test1-%d{MM-dd-yyyy}-%i.log";
private static final String TEST_DATA = "Hello world!";
private static final FastDateFormat formatter = FastDateFormat.getInstance("MM-dd-yyyy");
- @Rule
- public CleanFolders rule = new CleanFolders(TARGET_FOLDER);
+ @TempDir
+ Path tempDir;
@Test
public void testPolicy() throws Exception {
- //System.setProperty("log4j2.debug", "true");
- //System.setProperty("log4j2.StatusLogger.level", "trace");
final Configuration configuration = new DefaultConfiguration();
- final Path target = Paths.get(TARGET_FILE);
- target.toFile().getParentFile().mkdirs();
- final long timeStamp = System.currentTimeMillis() - (1000 * 60 * 60 * 24);
+ final Path target = tempDir.resolve("testfile");
+ final long timeStamp = Instant.now().minus(Duration.ofDays(1)).toEpochMilli();
final String expectedDate = formatter.format(timeStamp);
- final String rolledFileName = ROLLED_FILE_PREFIX + expectedDate + ROLLED_FILE_SUFFIX;
- final Path rolled = Paths.get(rolledFileName);
+ final Path rolled = tempDir.resolve("test1-" + expectedDate + "-1.log");
final long copied;
- try (final InputStream is = new ByteArrayInputStream(TEST_DATA.getBytes("UTF-8"))) {
+ try (final InputStream is = new ByteArrayInputStream(TEST_DATA.getBytes(StandardCharsets.UTF_8))) {
copied = Files.copy(is, target, StandardCopyOption.REPLACE_EXISTING);
}
final long size = Files.size(target);
@@ -82,14 +74,18 @@
final RolloverStrategy strategy = DefaultRolloverStrategy.newBuilder().setCompressionLevelStr("0")
.setStopCustomActionsOnError(true).setConfig(configuration).build();
final OnStartupTriggeringPolicy policy = OnStartupTriggeringPolicy.createPolicy(1);
- try (final RollingFileManager manager = RollingFileManager.getFileManager(TARGET_FILE, TARGET_PATTERN, true,
+
+ try (final RollingFileManager manager = RollingFileManager.getFileManager(target.toString(), tempDir.toString() + TARGET_PATTERN, true,
false, policy, strategy, null, layout, 8192, true, false, null, null, null, configuration)) {
manager.initialize();
- final String files = Arrays.toString(new File(TARGET_FOLDER).listFiles());
- assertTrue(target.toString() + ", files = " + files, Files.exists(target));
- assertEquals(target.toString(), 0, Files.size(target));
- assertTrue("Missing: " + rolled.toString() + ", files on disk = " + files, Files.exists(rolled));
- assertEquals(rolled.toString(), size, Files.size(rolled));
+ final String files;
+ try (Stream<Path> contents = Files.list(tempDir)) {
+ files = contents.map(Path::toString).collect(Collectors.joining(", ", "[", "]"));
+ }
+ assertTrue(Files.exists(target), target.toString() + ", files = " + files);
+ assertEquals(0, Files.size(target), target.toString());
+ assertTrue(Files.exists(rolled), "Missing: " + rolled.toString() + ", files on disk = " + files);
+ assertEquals(size, Files.size(rolled), rolled.toString());
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java
index 556268d..4ba1bc1 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java
@@ -22,9 +22,12 @@
import java.util.Date;
import java.util.Locale;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceAccessMode;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the PatternProcessor class.
@@ -36,11 +39,12 @@
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testDontInterpretBackslashAsEscape() {
final PatternProcessor pp = new PatternProcessor("c:\\test\\new/app-%d{HH-mm-ss}.log");
final Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 16);
- cal.set(Calendar.MINUTE, 02);
+ cal.set(Calendar.MINUTE, 2);
cal.set(Calendar.SECOND, 15);
final StringBuilder buf = new StringBuilder();
@@ -49,6 +53,7 @@
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -57,12 +62,13 @@
// expect Wed, March 4, 2014, 11:00
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 4, 11, 00, 00);
+ expected.set(2014, Calendar.MARCH, 4, 11, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour2() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -71,12 +77,13 @@
// expect Wed, March 5, 2014, 00:00
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 5, 00, 00, 00);
+ expected.set(2014, Calendar.MARCH, 5, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeHourlyReturnsFirstMinuteOfNextYear() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -90,6 +97,7 @@
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeMillisecondlyReturnsNextMillisec() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm-ss.SSS}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -106,6 +114,7 @@
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeMinutelyReturnsFirstSecondOfNextMinute() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -116,12 +125,13 @@
// expect Tue, March 4, 2014, 10:32
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 4, 10, 32, 00);
+ expected.set(2014, Calendar.MARCH, 4, 10, 32, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -130,12 +140,13 @@
// We expect 1st day of next month
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.NOVEMBER, 1, 00, 00, 00);
+ expected.set(2014, Calendar.NOVEMBER, 1, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth2() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -144,12 +155,13 @@
// Expect 1st of next month: 2014 Feb 1st
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.FEBRUARY, 1, 00, 00, 00);
+ expected.set(2014, Calendar.FEBRUARY, 1, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth3() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -158,12 +170,13 @@
// Expect 1st of next month: 2015 Jan 1st
final Calendar expected = Calendar.getInstance();
- expected.set(2015, Calendar.JANUARY, 1, 00, 00, 00);
+ expected.set(2015, Calendar.JANUARY, 1, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeMonthlyReturnsFirstDayOfNextYear() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -172,12 +185,13 @@
// We expect 1st day of next month
final Calendar expected = Calendar.getInstance();
- expected.set(2016, Calendar.JANUARY, 1, 00, 00, 00);
+ expected.set(2016, Calendar.JANUARY, 1, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
+ @ResourceLock(value = Resources.LOCALE, mode = ResourceAccessMode.READ)
public void testGetNextTimeSecondlyReturnsFirstMillisecOfNextSecond() {
final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm-ss}.log.gz");
final Calendar initial = Calendar.getInstance();
@@ -194,6 +208,7 @@
}
@Test
+ @ResourceLock(Resources.LOCALE)
public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_FRANCE() {
final Locale old = Locale.getDefault();
Locale.setDefault(Locale.FRANCE); // force 1st day of the week to be Monday
@@ -206,7 +221,7 @@
// expect Monday, March 10, 2014
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 10, 00, 00, 00);
+ expected.set(2014, Calendar.MARCH, 10, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
} finally {
@@ -215,6 +230,7 @@
}
@Test
+ @ResourceLock(Resources.LOCALE)
public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_US() {
final Locale old = Locale.getDefault();
Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday
@@ -227,7 +243,7 @@
// expect Sunday, March 9, 2014
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 9, 00, 00, 00);
+ expected.set(2014, Calendar.MARCH, 9, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
} finally {
@@ -239,18 +255,19 @@
* Tests https://issues.apache.org/jira/browse/LOG4J2-1232
*/
@Test
+ @ResourceLock(Resources.LOCALE)
public void testGetNextTimeWeeklyReturnsFirstWeekInYear_US() {
final Locale old = Locale.getDefault();
Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday
try {
final PatternProcessor pp = new PatternProcessor("logs/market_data_msg.log-%d{yyyy-MM-'W'W}");
final Calendar initial = Calendar.getInstance();
- initial.set(2015, Calendar.DECEMBER, 28, 00, 00, 00); // Monday, December 28, 2015
+ initial.set(2015, Calendar.DECEMBER, 28, 0, 0, 0); // Monday, December 28, 2015
final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
// expect Sunday January 3, 2016
final Calendar expected = Calendar.getInstance();
- expected.set(2016, Calendar.JANUARY, 3, 00, 00, 00);
+ expected.set(2016, Calendar.JANUARY, 3, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
} finally {
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractActionTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractActionTest.java
index d6038d6..09a518b 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractActionTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractActionTest.java
@@ -1,23 +1,22 @@
package org.apache.logging.log4j.core.appender.rolling.action;
import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.junit.StatusLoggerRule;
+import org.apache.logging.log4j.junit.StatusLoggerLevel;
import org.apache.logging.log4j.status.StatusData;
import org.apache.logging.log4j.status.StatusLogger;
-import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.util.List;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.hasSize;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+@StatusLoggerLevel("WARN")
public class AbstractActionTest {
- @Rule
- public StatusLoggerRule statusLogger = new StatusLoggerRule(Level.WARN);
-
// Test for LOG4J2-2658
@Test
public void testExceptionsAreLoggedToStatusLogger() {
@@ -25,11 +24,11 @@
statusLogger.clear();
new TestAction().run();
List<StatusData> statusDataList = statusLogger.getStatusData();
- assertEquals(1, statusDataList.size());
+ assertThat(statusDataList, hasSize(1));
StatusData statusData = statusDataList.get(0);
assertEquals(Level.WARN, statusData.getLevel());
String formattedMessage = statusData.getFormattedStatus();
- assertTrue(formattedMessage, formattedMessage.contains("Exception reported by action 'class org.apache."
+ assertThat(formattedMessage, containsString("Exception reported by action 'class org.apache."
+ "logging.log4j.core.appender.rolling.action.AbstractActionTest$TestAction' java.io.IOException: "
+ "failed" + System.lineSeparator()
+ "\tat org.apache.logging.log4j.core.appender.rolling.action.AbstractActionTest"
@@ -47,11 +46,11 @@
}
}.run();
List<StatusData> statusDataList = statusLogger.getStatusData();
- assertEquals(1, statusDataList.size());
+ assertThat(statusDataList, hasSize(1));
StatusData statusData = statusDataList.get(0);
assertEquals(Level.WARN, statusData.getLevel());
String formattedMessage = statusData.getFormattedStatus();
- assertTrue(formattedMessage.contains("Exception reported by action"));
+ assertThat(formattedMessage, containsString("Exception reported by action"));
}
@Test
@@ -65,11 +64,11 @@
}
}.run();
List<StatusData> statusDataList = statusLogger.getStatusData();
- assertEquals(1, statusDataList.size());
+ assertThat(statusDataList, hasSize(1));
StatusData statusData = statusDataList.get(0);
assertEquals(Level.WARN, statusData.getLevel());
String formattedMessage = statusData.getFormattedStatus();
- assertTrue(formattedMessage.contains("Exception reported by action"));
+ assertThat(formattedMessage, containsString("Exception reported by action"));
}
private static final class TestAction extends AbstractAction {
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/Bzip2CompressActionTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/Bzip2CompressActionTest.java
index 8178adc..bde1b75 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/Bzip2CompressActionTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/Bzip2CompressActionTest.java
@@ -17,30 +17,33 @@
package org.apache.logging.log4j.core.appender.rolling.action;
+import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
+
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
-import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests Bzip2CompressAction.
*/
public class Bzip2CompressActionTest {
- @Test(expected = NullPointerException.class)
+ @Test
public void testConstructorDisallowsNullSource() {
- new CommonsCompressAction("bzip2", null, new File("any"), true);
+ assertThrows(NullPointerException.class,
+ () -> new CommonsCompressAction("bzip2", null, new File("any"), true));
}
- @Test(expected = NullPointerException.class)
+ @Test
public void testConstructorDisallowsNullDestination() {
- new CommonsCompressAction("bzip2", new File("any"), null, true);
+ assertThrows(NullPointerException.class,
+ () -> new CommonsCompressAction("bzip2", new File("any"), null, true));
}
@Test
@@ -50,29 +53,28 @@
source = new File(source.getName() + Math.random());
}
final boolean actual = CommonsCompressAction.execute("bzip2", source, new File("any2"), true);
- assertEquals("Cannot compress non-existing file", false, actual);
+ assertFalse(actual, "Cannot compress non-existing file");
}
@Test
- public void testExecuteCompressesSourceFileToDestinationFile() throws IOException {
+ public void testExecuteCompressesSourceFileToDestinationFile(@TempDir final File tempDir) throws IOException {
final String LINE1 = "Here is line 1. Random text: ABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n";
final String LINE2 = "Here is line 2. Random text: ABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n";
final String LINE3 = "Here is line 3. Random text: ABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n";
- final File source = new File("target/compressme");
+ final File source = new File(tempDir, "compressme");
try (FileWriter fw = new FileWriter(source, false)) {
fw.write(LINE1);
fw.write(LINE2);
fw.write(LINE3);
fw.flush();
}
- final File destination = new File("target/compressme.bz2");
- destination.delete(); // just in case
- assertFalse("Destination should not exist yet", destination.exists());
+ final File destination = new File(tempDir, "compressme.bz2");
+ assertFalse(destination.exists(), "Destination should not exist yet");
final boolean actual = CommonsCompressAction.execute("bzip2", source, destination, true);
- assertEquals("Bzip2CompressAction should have succeeded", true, actual);
- assertTrue("Destination should exist after Bzip2CompressAction", destination.exists());
- assertFalse("Source should have been deleted", source.exists());
+ assertTrue(actual, "Bzip2CompressAction should have succeeded");
+ assertTrue(destination.exists(), "Destination should exist after Bzip2CompressAction");
+ assertFalse(source.exists(), "Source should have been deleted");
final byte[] bz2 = new byte[] { (byte) 0x42, (byte) 0x5A, (byte) 0x68, (byte) 0x39, (byte) 0x31, (byte) 0x41,
(byte) 0x59, (byte) 0x26, (byte) 0x53, (byte) 0x59, (byte) 0x9C, (byte) 0xE1, (byte) 0xE8, (byte) 0x2D,
@@ -102,9 +104,8 @@
n = fis.read(actualBz2, offset, actualBz2.length - offset);
offset += n;
} while (offset < actualBz2.length);
- assertArrayEquals("Compressed data corrupt", bz2, actualBz2);
+ assertArrayEquals(bz2, actualBz2, "Compressed data corrupt");
}
- destination.delete();
// uncompress
try (BZip2CompressorInputStream bzin = new BZip2CompressorInputStream(new ByteArrayInputStream(bz2))) {
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteActionTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteActionTest.java
index dbd6c68..852f8d0 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteActionTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteActionTest.java
@@ -26,13 +26,12 @@
import java.util.EnumSet;
import org.apache.logging.log4j.core.BasicConfigurationFactory;
-import org.apache.logging.log4j.core.appender.rolling.action.DeleteAction;
-import org.apache.logging.log4j.core.appender.rolling.action.DeletingVisitor;
-import org.apache.logging.log4j.core.appender.rolling.action.PathCondition;
import org.apache.logging.log4j.core.config.Configuration;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the {@code DeleteAction} class.
@@ -47,9 +46,8 @@
private static DeleteAction create(final String path, final boolean followLinks, final int maxDepth, final boolean testMode,
final PathCondition[] conditions) {
final Configuration config = new BasicConfigurationFactory.BasicConfiguration();
- final DeleteAction delete = DeleteAction.createDeleteAction(path, followLinks, maxDepth, testMode, null, conditions,
+ return DeleteAction.createDeleteAction(path, followLinks, maxDepth, testMode, null, conditions,
null, config);
- return delete;
}
@Test
@@ -98,7 +96,7 @@
public void testCreateFileVisitorReturnsDeletingVisitor() {
final DeleteAction delete = createAnyFilter("any", true, 0, false);
final FileVisitor<Path> visitor = delete.createFileVisitor(delete.getBasePath(), delete.getPathConditions());
- assertTrue(visitor instanceof DeletingVisitor);
+ assertThat(visitor, instanceOf(DeletingVisitor.class));
}
@Test
@@ -106,14 +104,14 @@
final DeleteAction delete = createAnyFilter("any", true, 0, false);
assertFalse(delete.isTestMode());
final FileVisitor<Path> visitor = delete.createFileVisitor(delete.getBasePath(), delete.getPathConditions());
- assertTrue(visitor instanceof DeletingVisitor);
+ assertThat(visitor, instanceOf(DeletingVisitor.class));
assertFalse(((DeletingVisitor) visitor).isTestMode());
final DeleteAction deleteTestMode = createAnyFilter("any", true, 0, true);
assertTrue(deleteTestMode.isTestMode());
final FileVisitor<Path> testVisitor = deleteTestMode.createFileVisitor(delete.getBasePath(),
delete.getPathConditions());
- assertTrue(testVisitor instanceof DeletingVisitor);
+ assertThat(testVisitor, instanceOf(DeletingVisitor.class));
assertTrue(((DeletingVisitor) testVisitor).isTestMode());
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DeletingVisitorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DeletingVisitorTest.java
index ed472ad..98cd8b8 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DeletingVisitorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DeletingVisitorTest.java
@@ -28,9 +28,9 @@
import java.util.Collections;
import java.util.List;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the {@code DeletingVisitor} class.
@@ -58,7 +58,7 @@
public void testAcceptedFilesAreDeleted() throws IOException {
final Path base = Paths.get("/a/b/c");
final FixedCondition ACCEPT_ALL = new FixedCondition(true);
- final DeletingVisitorHelper visitor = new DeletingVisitorHelper(base, Arrays.asList(ACCEPT_ALL), false);
+ final DeletingVisitorHelper visitor = new DeletingVisitorHelper(base, Collections.singletonList(ACCEPT_ALL), false);
final Path any = Paths.get("/a/b/c/any");
visitor.visitFile(any, null);
@@ -69,7 +69,7 @@
public void testRejectedFilesAreNotDeleted() throws IOException {
final Path base = Paths.get("/a/b/c");
final FixedCondition REJECT_ALL = new FixedCondition(false);
- final DeletingVisitorHelper visitor = new DeletingVisitorHelper(base, Arrays.asList(REJECT_ALL), false);
+ final DeletingVisitorHelper visitor = new DeletingVisitorHelper(base, Collections.singletonList(REJECT_ALL), false);
final Path any = Paths.get("/a/b/c/any");
visitor.visitFile(any, null);
@@ -130,7 +130,7 @@
}
};
final Path base = Paths.get("/a/b/c");
- final DeletingVisitorHelper visitor = new DeletingVisitorHelper(base, Arrays.asList(filter), false);
+ final DeletingVisitorHelper visitor = new DeletingVisitorHelper(base, Collections.singletonList(filter), false);
final Path child = Paths.get("/a/b/c/relative");
visitor.visitFile(child, null);
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DurationTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DurationTest.java
index 456f95b..c156ded 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DurationTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/DurationTest.java
@@ -17,34 +17,33 @@
package org.apache.logging.log4j.core.appender.rolling.action;
-import org.apache.logging.log4j.core.appender.rolling.action.Duration;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the Duration class.
*/
public class DurationTest {
- @Test(expected = NullPointerException.class)
+ @Test
public void testParseFailsIfNullText() {
- Duration.parse(null);
+ assertThrows(NullPointerException.class, () -> Duration.parse(null));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testParseFailsIfInvalidPattern() {
- Duration.parse("abc");
+ assertThrows(IllegalArgumentException.class, () -> Duration.parse("abc"));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testParseFailsIfSectionsOutOfOrder() {
- Duration.parse("P4DT2M1S3H");
+ assertThrows(IllegalArgumentException.class, () -> Duration.parse("P4DT2M1S3H"));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testParseFailsIfTButMissingTime() {
- Duration.parse("P1dT");
+ assertThrows(IllegalArgumentException.class, () -> Duration.parse("P1dT"));
}
@Test
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameActionTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameActionTest.java
index 8a4fc8e..3ab9ff8 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameActionTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameActionTest.java
@@ -16,67 +16,48 @@
*/
package org.apache.logging.log4j.core.appender.rolling.action;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
+
import java.io.File;
import java.io.PrintStream;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.Assert.*;
-
-/**
- *
- */
public class FileRenameActionTest {
- private static final String DIR = "target/fileRename";
-
- @BeforeClass
- public static void beforeClass() throws Exception {
- final File file = new File(DIR);
- file.mkdirs();
- }
-
- @AfterClass
- public static void afterClass() {
- deleteDir();
- }
-
- @After
- public void after() {
- deleteFiles();
- }
+ @TempDir
+ File tempDir;
@Test
public void testRename1() throws Exception {
- final File file = new File("target/fileRename/fileRename.log");
+ final File file = new File(tempDir, "fileRename.log");
try (final PrintStream pos = new PrintStream(file)) {
for (int i = 0; i < 100; ++i) {
pos.println("This is line " + i);
}
}
- final File dest = new File("target/fileRename/newFile.log");
+ final File dest = new File(tempDir, "newFile.log");
final FileRenameAction action = new FileRenameAction(file, dest, false);
action.execute();
- assertTrue("Renamed file does not exist", dest.exists());
- assertTrue("Old file exists", !file.exists());
+ assertTrue(dest.exists(), "Renamed file does not exist");
+ assertFalse(file.exists(), "Old file exists");
}
@Test
public void testEmpty() throws Exception {
- final File file = new File("target/fileRename/fileRename.log");
+ final File file = new File(tempDir, "fileRename.log");
try (final PrintStream pos = new PrintStream(file)) {
// do nothing
}
- final File dest = new File("target/fileRename/newFile.log");
+ final File dest = new File(tempDir, "newFile.log");
final FileRenameAction action = new FileRenameAction(file, dest, false);
action.execute();
- assertTrue("Renamed file does not exist", !dest.exists());
- assertTrue("Old file does not exist", !file.exists());
+ assertFalse(dest.exists(), "Renamed file does not exist");
+ assertFalse(file.exists(), "Old file does not exist");
}
@@ -90,40 +71,10 @@
}
final File dest = new File("newFile.log");
- try {
- final FileRenameAction action = new FileRenameAction(file, dest, false);
- action.execute();
- assertTrue("Renamed file does not exist", dest.exists());
- assertTrue("Old file exists", !file.exists());
- } finally {
- try {
- dest.delete();
- file.delete();
- } catch (final Exception ex) {
- System.out.println("Unable to cleanup files written to main directory");
- }
- }
+ final FileRenameAction action = new FileRenameAction(file, dest, false);
+ action.execute();
+ assertTrue(dest.exists(), "Renamed file does not exist");
+ assertFalse(file.exists(), "Old file exists");
}
-
- private static void deleteDir() {
- final File dir = new File(DIR);
- if (dir.exists()) {
- final File[] files = dir.listFiles();
- for (final File file : files) {
- file.delete();
- }
- dir.delete();
- }
- }
-
- private static void deleteFiles() {
- final File dir = new File(DIR);
- if (dir.exists()) {
- final File[] files = dir.listFiles();
- for (final File file : files) {
- file.delete();
- }
- }
- }
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/FileSizeTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/FileSizeTest.java
index dfa7cec..6c1dc37 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/FileSizeTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/FileSizeTest.java
@@ -17,29 +17,29 @@
package org.apache.logging.log4j.core.appender.rolling.action;
import org.apache.logging.log4j.core.appender.rolling.FileSize;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.ResourceLock;
+import org.junit.jupiter.api.parallel.Resources;
-import java.text.NumberFormat;
import java.util.Locale;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class FileSizeTest {
@Test
public void testParse() {
- assertThat(FileSize.parse("5k", 0), is(5L * 1024));
+ assertEquals(5 * 1024, FileSize.parse("5k", 0));
}
@Test
+ @ResourceLock(Resources.LOCALE)
public void testParseInEurope() {
// Caveat: Breaks the ability for this test to run in parallel with other tests :(
Locale previousDefault = Locale.getDefault();
try {
Locale.setDefault(new Locale("de", "DE"));
- assertThat(FileSize.parse("1,000", 0), is(1000L));
+ assertEquals(1000, FileSize.parse("1,000", 0));
} finally {
Locale.setDefault(previousDefault);
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileCountTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileCountTest.java
index 0022b40..af5ab26 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileCountTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileCountTest.java
@@ -17,9 +17,9 @@
package org.apache.logging.log4j.core.appender.rolling.action;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the IfAccumulatedFileCount class.
@@ -54,7 +54,7 @@
for (int i = 1; i < 10; i++) {
if (i <= 3) {
- assertFalse("i=" + i, condition.accept(null, null, null));
+ assertFalse(condition.accept(null, null, null), "i=" + i);
assertEquals(0, counter.getAcceptCount());
} else {
assertTrue(condition.accept(null, null, null));
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileSizeTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileSizeTest.java
index 740c998..76bb0fc 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileSizeTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileSizeTest.java
@@ -17,9 +17,9 @@
package org.apache.logging.log4j.core.appender.rolling.action;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the IfAccumulatedFileSize class.
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAllTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAllTest.java
index 12d5a05..2e3f1fb 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAllTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAllTest.java
@@ -17,11 +17,9 @@
package org.apache.logging.log4j.core.appender.rolling.action;
-import org.apache.logging.log4j.core.appender.rolling.action.IfAll;
-import org.apache.logging.log4j.core.appender.rolling.action.PathCondition;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the And composite condition.
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAnyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAnyTest.java
index 52a8b27..4eaaaa0 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAnyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfAnyTest.java
@@ -17,9 +17,9 @@
package org.apache.logging.log4j.core.appender.rolling.action;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the Or composite condition.
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileNameTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileNameTest.java
index 2e84aa9..bac7179 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileNameTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileNameTest.java
@@ -20,18 +20,18 @@
import java.nio.file.Path;
import java.nio.file.Paths;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
public class IfFileNameTest {
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testCreateNameConditionFailsIfBothRegexAndPathAreNull() {
- IfFileName.createNameCondition(null, null);
+ assertThrows(IllegalArgumentException.class, () -> IfFileName.createNameCondition(null, null));
}
- @Test()
+ @Test
public void testCreateNameConditionAcceptsIfEitherRegexOrPathOrBothAreNonNull() {
IfFileName.createNameCondition("bar", null);
IfFileName.createNameCondition(null, "foo");
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModifiedTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModifiedTest.java
index 48d2a10..d2072ef 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModifiedTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModifiedTest.java
@@ -19,9 +19,9 @@
import java.nio.file.attribute.FileTime;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the FileAgeFilter class.
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfNotTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfNotTest.java
index c5abfb9..3563bb1 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfNotTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/IfNotTest.java
@@ -17,10 +17,9 @@
package org.apache.logging.log4j.core.appender.rolling.action;
-import org.apache.logging.log4j.core.appender.rolling.action.IfNot;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the Not composite condition.
@@ -36,9 +35,10 @@
assertTrue(IfNot.createNotCondition(new FixedCondition(false)).accept(null, null, null));
}
- @Test(expected = NullPointerException.class)
+ @Test
public void testEmptyIsFalse() {
- assertFalse(IfNot.createNotCondition(null).accept(null, null, null));
+ assertThrows(NullPointerException.class,
+ () -> IfNot.createNotCondition(null).accept(null, null, null));
}
@Test
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTimeTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTimeTest.java
index 255fec4..60c43a3 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTimeTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTimeTest.java
@@ -21,9 +21,9 @@
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the {@code PathSortByModificationTime} class.
@@ -50,17 +50,17 @@
a1.lastModified = FileTime.fromMillis(100);
a2.lastModified = FileTime.fromMillis(222);
- assertEquals("same path, 2nd more recent", 1, sorter.compare(path(p1, a1), path(p1, a2)));
- assertEquals("path ignored, 2nd more recent", 1, sorter.compare(path(p1, a1), path(p2, a2)));
- assertEquals("path ignored, 2nd more recent", 1, sorter.compare(path(p2, a1), path(p1, a2)));
+ assertEquals(1, sorter.compare(path(p1, a1), path(p1, a2)), "same path, 2nd more recent");
+ assertEquals(1, sorter.compare(path(p1, a1), path(p2, a2)), "path ignored, 2nd more recent");
+ assertEquals(1, sorter.compare(path(p2, a1), path(p1, a2)), "path ignored, 2nd more recent");
- assertEquals("same path, 1st more recent", -1, sorter.compare(path(p1, a2), path(p1, a1)));
- assertEquals("path ignored, 1st more recent", -1, sorter.compare(path(p1, a2), path(p2, a1)));
- assertEquals("path ignored, 1st more recent", -1, sorter.compare(path(p2, a2), path(p1, a1)));
+ assertEquals(-1, sorter.compare(path(p1, a2), path(p1, a1)), "same path, 1st more recent");
+ assertEquals(-1, sorter.compare(path(p1, a2), path(p2, a1)), "path ignored, 1st more recent");
+ assertEquals(-1, sorter.compare(path(p2, a2), path(p1, a1)), "path ignored, 1st more recent");
- assertEquals("same path, same time", 0, sorter.compare(path(p1, a1), path(p1, a1)));
- assertEquals("p2 < p1, same time", 1, sorter.compare(path(p1, a1), path(p2, a1)));
- assertEquals("p2 < p1, same time", -1, sorter.compare(path(p2, a1), path(p1, a1)));
+ assertEquals(0, sorter.compare(path(p1, a1), path(p1, a1)), "same path, same time");
+ assertEquals(1, sorter.compare(path(p1, a1), path(p2, a1)), "p2 < p1, same time");
+ assertEquals(-1, sorter.compare(path(p2, a1), path(p1, a1)), "p2 < p1, same time");
}
@Test
@@ -73,17 +73,17 @@
a1.lastModified = FileTime.fromMillis(100);
a2.lastModified = FileTime.fromMillis(222);
- assertEquals("same path, 2nd more recent", -1, sorter.compare(path(p1, a1), path(p1, a2)));
- assertEquals("path ignored, 2nd more recent", -1, sorter.compare(path(p1, a1), path(p2, a2)));
- assertEquals("path ignored, 2nd more recent", -1, sorter.compare(path(p2, a1), path(p1, a2)));
+ assertEquals(-1, sorter.compare(path(p1, a1), path(p1, a2)), "same path, 2nd more recent");
+ assertEquals(-1, sorter.compare(path(p1, a1), path(p2, a2)), "path ignored, 2nd more recent");
+ assertEquals(-1, sorter.compare(path(p2, a1), path(p1, a2)), "path ignored, 2nd more recent");
- assertEquals("same path, 1st more recent", 1, sorter.compare(path(p1, a2), path(p1, a1)));
- assertEquals("path ignored, 1st more recent", 1, sorter.compare(path(p1, a2), path(p2, a1)));
- assertEquals("path ignored, 1st more recent", 1, sorter.compare(path(p2, a2), path(p1, a1)));
+ assertEquals(1, sorter.compare(path(p1, a2), path(p1, a1)), "same path, 1st more recent");
+ assertEquals(1, sorter.compare(path(p1, a2), path(p2, a1)), "path ignored, 1st more recent");
+ assertEquals(1, sorter.compare(path(p2, a2), path(p1, a1)), "path ignored, 1st more recent");
- assertEquals("same path, same time", 0, sorter.compare(path(p1, a1), path(p1, a1)));
- assertEquals("p1 < p2, same time", -1, sorter.compare(path(p1, a1), path(p2, a1)));
- assertEquals("p1 < p2, same time", 1, sorter.compare(path(p2, a1), path(p1, a1)));
+ assertEquals(0, sorter.compare(path(p1, a1), path(p1, a1)), "same path, same time");
+ assertEquals(-1, sorter.compare(path(p1, a1), path(p2, a1)), "p1 < p2, same time");
+ assertEquals(1, sorter.compare(path(p2, a1), path(p1, a1)), "p1 < p2, same time");
}
private PathWithAttributes path(final Path path, final DummyFileAttributes attributes) {
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptConditionTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptConditionTest.java
index 0379767..346e898 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptConditionTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptConditionTest.java
@@ -17,33 +17,33 @@
package org.apache.logging.log4j.core.appender.rolling.action;
+import org.apache.logging.log4j.core.config.Configuration;
+import org.apache.logging.log4j.core.config.DefaultConfiguration;
+import org.apache.logging.log4j.core.script.Script;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
-import org.apache.logging.log4j.categories.Scripts;
-import org.apache.logging.log4j.core.config.Configuration;
-import org.apache.logging.log4j.core.config.DefaultConfiguration;
-import org.apache.logging.log4j.core.script.Script;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the ScriptCondition class.
*/
public class ScriptConditionTest {
- @Test(expected = NullPointerException.class)
+ @Test
public void testConstructorDisallowsNullScript() {
- new ScriptCondition(null, new DefaultConfiguration());
+ assertThrows(NullPointerException.class, () -> new ScriptCondition(null, new DefaultConfiguration()));
}
- @Test(expected = NullPointerException.class)
+ @Test
public void testConstructorDisallowsNullConfig() {
- new ScriptCondition(new Script("test", "js", "print('hi')"), null);
+ assertThrows(NullPointerException.class,
+ () -> new ScriptCondition(new Script("test", "js", "print('hi')"), null));
}
@Test
@@ -51,9 +51,10 @@
assertNull(ScriptCondition.createCondition(null, new DefaultConfiguration()));
}
- @Test(expected = NullPointerException.class)
+ @Test
public void testCreateConditionDisallowsNullConfig() {
- ScriptCondition.createCondition(new Script("test", "js", "print('hi')"), null);
+ assertThrows(NullPointerException.class, () -> ScriptCondition.createCondition(
+ new Script("test", "js", "print('hi')"), null));
}
@Test
@@ -92,7 +93,7 @@
}
@Test
- @Category(Scripts.Groovy.class)
+ @Tag("groovy")
public void testSelectFilesToDelete3() {
final Configuration config = new DefaultConfiguration();
config.initialize(); // creates the ScriptManager
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/SortingVisitorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/SortingVisitorTest.java
index 06ee1ce..9df7ab8 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/SortingVisitorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/SortingVisitorTest.java
@@ -17,6 +17,10 @@
package org.apache.logging.log4j.core.appender.rolling.action;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
+
import java.io.IOException;
import java.nio.file.FileVisitOption;
import java.nio.file.FileVisitResult;
@@ -24,49 +28,36 @@
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.nio.file.attribute.FileAttribute;
import java.nio.file.attribute.FileTime;
import java.util.Collections;
import java.util.List;
import java.util.Set;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the SortingVisitor class.
*/
public class SortingVisitorTest {
-
- private Path base;
+
+ @TempDir
+ Path base;
private Path aaa;
private Path bbb;
private Path ccc;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
- base = Files.createTempDirectory("tempDir", new FileAttribute<?>[0]);
- aaa = Files.createTempFile(base, "aaa", null, new FileAttribute<?>[0]);
- bbb = Files.createTempFile(base, "bbb", null, new FileAttribute<?>[0]);
- ccc = Files.createTempFile(base, "ccc", null, new FileAttribute<?>[0]);
-
+ aaa = Files.createFile(base.resolve("aaa"));
+ bbb = Files.createFile(base.resolve("bbb"));
+ ccc = Files.createFile(base.resolve("ccc"));
+
// lastModified granularity is 1 sec(!) on some file systems...
final long now = System.currentTimeMillis();
Files.setLastModifiedTime(aaa, FileTime.fromMillis(now));
Files.setLastModifiedTime(bbb, FileTime.fromMillis(now + 1000));
Files.setLastModifiedTime(ccc, FileTime.fromMillis(now + 2000));
}
-
- @After
- public void tearDown() throws Exception {
- Files.deleteIfExists(ccc);
- Files.deleteIfExists(bbb);
- Files.deleteIfExists(aaa);
- Files.deleteIfExists(base);
- }
@Test
public void testRecentFirst() throws Exception {
@@ -76,10 +67,10 @@
final List<PathWithAttributes> found = visitor.getSortedPaths();
assertNotNull(found);
- assertEquals("file count", 3, found.size());
- assertEquals("1st: most recent; sorted=" + found, ccc, found.get(0).getPath());
- assertEquals("2nd; sorted=" + found, bbb, found.get(1).getPath());
- assertEquals("3rd: oldest; sorted=" + found, aaa, found.get(2).getPath());
+ assertEquals(3, found.size(), "file count");
+ assertEquals(ccc, found.get(0).getPath(), "1st: most recent; sorted=" + found);
+ assertEquals(bbb, found.get(1).getPath(), "2nd; sorted=" + found);
+ assertEquals(aaa, found.get(2).getPath(), "3rd: oldest; sorted=" + found);
}
@Test
@@ -90,16 +81,16 @@
final List<PathWithAttributes> found = visitor.getSortedPaths();
assertNotNull(found);
- assertEquals("file count", 3, found.size());
- assertEquals("1st: oldest first; sorted=" + found, aaa, found.get(0).getPath());
- assertEquals("2nd; sorted=" + found, bbb, found.get(1).getPath());
- assertEquals("3rd: most recent sorted; list=" + found, ccc, found.get(2).getPath());
+ assertEquals(3, found.size(), "file count");
+ assertEquals(aaa, found.get(0).getPath(), "1st: oldest first; sorted=" + found);
+ assertEquals(bbb, found.get(1).getPath(), "2nd; sorted=" + found);
+ assertEquals(ccc, found.get(2).getPath(), "3rd: most recent sorted; list=" + found);
}
@Test
public void testNoSuchFileFailure() throws IOException {
SortingVisitor visitor = new SortingVisitor(new PathSortByModificationTime(false));
- assertEquals(
+ assertSame(
FileVisitResult.CONTINUE,
visitor.visitFileFailed(Paths.get("doesNotExist"), new NoSuchFileException("doesNotExist")));
}
@@ -108,11 +99,7 @@
public void testIOException() {
SortingVisitor visitor = new SortingVisitor(new PathSortByModificationTime(false));
IOException exception = new IOException();
- try {
- visitor.visitFileFailed(Paths.get("doesNotExist"), exception);
- fail();
- } catch (IOException e) {
- assertSame(exception, e);
- }
+ assertSame(exception,
+ assertThrows(IOException.class, () -> visitor.visitFileFailed(Paths.get("doesNotExist"), exception)));
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/TestConfiguratorError.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/TestConfiguratorError.java
index 4c5021c..8649984 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/TestConfiguratorError.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/TestConfiguratorError.java
@@ -21,9 +21,11 @@
import org.apache.logging.log4j.simple.SimpleLoggerContextFactory;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.parallel.ResourceLock;
import static org.junit.jupiter.api.Assertions.assertNull;
+@ResourceLock("log4j2.LoggerContextFactory")
public class TestConfiguratorError {
@RegisterExtension
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/validators/ValidHostValidatorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/validators/ValidHostValidatorTest.java
index 4098b19..caf760f 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/validators/ValidHostValidatorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/validators/ValidHostValidatorTest.java
@@ -16,25 +16,21 @@
*/
package org.apache.logging.log4j.core.config.plugins.validation.validators;
-import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.junit.StatusLoggerLevelExtension;
-import org.apache.logging.log4j.plugins.Node;
import org.apache.logging.log4j.core.config.NullConfiguration;
import org.apache.logging.log4j.core.config.plugins.util.PluginBuilder;
+import org.apache.logging.log4j.junit.StatusLoggerLevel;
+import org.apache.logging.log4j.plugins.Node;
import org.apache.logging.log4j.plugins.util.PluginManager;
import org.apache.logging.log4j.plugins.util.PluginType;
import org.apache.logging.log4j.plugins.validation.HostAndPort;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
import static org.junit.jupiter.api.Assertions.*;
+@StatusLoggerLevel("FATAL")
public class ValidHostValidatorTest {
- @RegisterExtension
- static StatusLoggerLevelExtension extension = new StatusLoggerLevelExtension(Level.FATAL);
-
private PluginType<HostAndPort> plugin;
private Node node;
diff --git a/log4j-core/src/test/resources/MemoryMappedFileAppenderLocationTest.xml b/log4j-core/src/test/resources/MemoryMappedFileAppenderLocationTest.xml
index 14b6b25..b192995 100644
--- a/log4j-core/src/test/resources/MemoryMappedFileAppenderLocationTest.xml
+++ b/log4j-core/src/test/resources/MemoryMappedFileAppenderLocationTest.xml
@@ -5,7 +5,7 @@
fileName="target/MemoryMappedFileAppenderLocationTest.log"
regionLength="32000" immediateFlush="true" append="false">
<PatternLayout>
- <Pattern>%d %p %c{1.} [%t] %X{aKey} %m %location %ex%n</Pattern>
+ <Pattern>%location: %m%n</Pattern>
</PatternLayout>
</MemoryMappedFile>
</Appenders>
@@ -15,4 +15,4 @@
<AppenderRef ref="MemoryMappedFile"/>
</Root>
</Loggers>
-</Configuration>
\ No newline at end of file
+</Configuration>
diff --git a/log4j-core/src/test/resources/MemoryMappedFileAppenderRemapTest.xml b/log4j-core/src/test/resources/MemoryMappedFileAppenderRemapTest.xml
index 02799a5..d46b902 100644
--- a/log4j-core/src/test/resources/MemoryMappedFileAppenderRemapTest.xml
+++ b/log4j-core/src/test/resources/MemoryMappedFileAppenderRemapTest.xml
@@ -5,7 +5,7 @@
fileName="target/MemoryMappedFileAppenderRemapTest.log"
regionLength="256" immediateFlush="true" append="false">
<PatternLayout>
- <Pattern>%d %p %c{1.} [%t] %X{aKey} %m%ex%n</Pattern>
+ <Pattern>%m%n</Pattern>
</PatternLayout>
</MemoryMappedFile>
</Appenders>
@@ -15,4 +15,4 @@
<AppenderRef ref="MemoryMappedFile"/>
</Root>
</Loggers>
-</Configuration>
\ No newline at end of file
+</Configuration>
diff --git a/log4j-core/src/test/resources/MemoryMappedFileAppenderTest.xml b/log4j-core/src/test/resources/MemoryMappedFileAppenderTest.xml
index 430c8b1..209459d 100644
--- a/log4j-core/src/test/resources/MemoryMappedFileAppenderTest.xml
+++ b/log4j-core/src/test/resources/MemoryMappedFileAppenderTest.xml
@@ -5,7 +5,7 @@
fileName="target/MemoryMappedFileAppenderTest.log"
immediateFlush="false" append="false">
<PatternLayout>
- <Pattern>%d %p %c{1.} [%t] %X{aKey} %m%ex%n</Pattern>
+ <Pattern>%m%n</Pattern>
</PatternLayout>
</MemoryMappedFile>
</Appenders>
@@ -15,4 +15,4 @@
<AppenderRef ref="MemoryMappedFile"/>
</Root>
</Loggers>
-</Configuration>
\ No newline at end of file
+</Configuration>
diff --git a/pom.xml b/pom.xml
index 3924d63..e592087 100644
--- a/pom.xml
+++ b/pom.xml
@@ -243,7 +243,7 @@
<minSeverity>info</minSeverity>
<jctoolsVersion>3.1.0</jctoolsVersion>
<junitVersion>4.13</junitVersion>
- <junitJupiterVersion>5.6.2</junitJupiterVersion>
+ <junitJupiterVersion>5.7.0</junitJupiterVersion>
<mockitoVersion>3.5.5</mockitoVersion>
<argLine>-Xms256m -Xmx1024m</argLine>
<javaTargetVersion>1.8</javaTargetVersion>
@@ -1184,10 +1184,6 @@
</systemPropertyVariables>
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
- <excludes>
- <exclude>${log4j.skip.test1}</exclude>
- <exclude>${log4j.skip.test2}</exclude>
- </excludes>
</configuration>
</plugin>
<plugin>