This is an automated email from the ASF dual-hosted git repository. mattsicker pushed a commit to branch release-2.x in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit a125b79d31a8fc4a6d86a0c706cb092a111081e7 Author: Matt Sicker <boa...@gmail.com> AuthorDate: Sun Sep 13 20:12:11 2020 -0500 Migrate some rolling tests to JUnit 5 Backported from 3.x. Signed-off-by: Matt Sicker <boa...@gmail.com> --- .../appender/rolling/CronTriggeringPolicyTest.java | 11 ++-- .../core/appender/rolling/EligibleFilesTest.java | 10 +-- .../log4j/core/appender/rolling/FileSizeTest.java | 11 ++-- .../rolling/OnStartupTriggeringPolicyTest.java | 73 ++++++++++------------ .../appender/rolling/PatternProcessorTest.java | 32 +++++----- 5 files changed, 68 insertions(+), 69 deletions(-) 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 9fce567..efcadd9 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.appender.RollingRandomAccessFileAppender; 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 @@ public class CronTriggeringPolicyTest { //@Rule //public CleanFiles cleanFiles = new CleanFiles("testcmd1.log", "testcmd2.log", "testcmd3.log"); - @Before + @BeforeEach public void before() { configuration = new NullConfiguration(); } @@ -59,7 +60,7 @@ public class CronTriggeringPolicyTest { .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.nio.file.Path; 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 @@ public class EligibleFilesTest { 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 9b9bf45..35e2199 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 @@ public class FileSizeTest { 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 1ea3aa2..ef31ba2 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,60 +16,50 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +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.util.datetime.FastDateFormat; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.ByteArrayInputStream; -import java.io.File; import java.io.InputStream; +import java.nio.charset.StandardCharsets; 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 java.time.Duration; +import java.time.Instant; +import java.util.stream.Collectors; +import java.util.stream.Stream; -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.util.datetime.FastDateFormat; -import org.apache.logging.log4j.junit.CleanFolders; -import org.junit.Assert; -import org.junit.Rule; -import org.junit.Test; +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); - Assert.assertFalse(Files.exists(target)); - 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); @@ -79,20 +69,23 @@ public class OnStartupTriggeringPolicyTest { final FileTime fileTime = FileTime.fromMillis(timeStamp); final BasicFileAttributeView attrs = Files.getFileAttributeView(target, BasicFileAttributeView.class); attrs.setTimes(fileTime, fileTime, fileTime); - final PatternLayout layout = PatternLayout.newBuilder().withPattern("%msg").withConfiguration(configuration) .build(); - final RolloverStrategy strategy = DefaultRolloverStrategy.createStrategy(null, null, null, "0", null, true, - configuration); + final RolloverStrategy strategy = DefaultRolloverStrategy.newBuilder().withCompressionLevelStr("0") + .withStopCustomActionsOnError(true).withConfig(configuration).build(); final OnStartupTriggeringPolicy policy = OnStartupTriggeringPolicy.createPolicy(1); - try (final RollingFileManager manager = RollingFileManager.getFileManager(TARGET_FILE, TARGET_PATTERN, true, false, - policy, strategy, null, layout, 8192, true, false, null, null, null, configuration)) { + + 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..427d845 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,10 @@ import java.util.Calendar; import java.util.Date; import java.util.Locale; -import org.junit.Test; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * Tests the PatternProcessor class. @@ -40,7 +41,7 @@ public class PatternProcessorTest { 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(); @@ -57,7 +58,7 @@ public class PatternProcessorTest { // 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)); } @@ -71,7 +72,7 @@ public class PatternProcessorTest { // 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)); } @@ -116,7 +117,7 @@ public class PatternProcessorTest { // 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)); } @@ -130,7 +131,7 @@ public class PatternProcessorTest { // 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)); } @@ -144,7 +145,7 @@ public class PatternProcessorTest { // 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)); } @@ -158,7 +159,7 @@ public class PatternProcessorTest { // 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)); } @@ -172,7 +173,7 @@ public class PatternProcessorTest { // 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)); } @@ -194,6 +195,7 @@ public class PatternProcessorTest { } @Test + @Tag("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 +208,7 @@ public class PatternProcessorTest { // 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 +217,7 @@ public class PatternProcessorTest { } @Test + @Tag("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 +230,7 @@ public class PatternProcessorTest { // 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 +242,19 @@ public class PatternProcessorTest { * Tests https://issues.apache.org/jira/browse/LOG4J2-1232 */ @Test + @Tag("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 {