Add tests for LOG4J2-1232 Incorrect log rotation in last week of year. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/d7efe9a1 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/d7efe9a1 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/d7efe9a1
Branch: refs/heads/LOG4J-1181 Commit: d7efe9a112ee1b2feeac66f54049d1f3a0368b71 Parents: d71e4cc Author: ggregory <ggreg...@apache.org> Authored: Thu Dec 31 18:46:08 2015 -0800 Committer: ggregory <ggreg...@apache.org> Committed: Thu Dec 31 18:46:08 2015 -0800 ---------------------------------------------------------------------- .../appender/rolling/PatternProcessorTest.java | 36 ++++++++++++++++++++ 1 file changed, 36 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d7efe9a1/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java ---------------------------------------------------------------------- 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 75b95a3..cebb0f4 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,6 +22,7 @@ import java.util.Calendar; import java.util.Date; import java.util.Locale; +import org.junit.Ignore; import org.junit.Test; import static org.junit.Assert.*; @@ -51,6 +52,20 @@ public class PatternProcessorTest { } @Test + public void testGetNextTimeMonthlyReturnsFirstDayOfNextYear() { + final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz"); + final Calendar initial = Calendar.getInstance(); + initial.set(2015, Calendar.DECEMBER, 28, 0, 0, 0); + final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); + + // We expect 1st day of next month + final Calendar expected = Calendar.getInstance(); + expected.set(2016, Calendar.JANUARY, 1, 00, 00, 00); + expected.set(Calendar.MILLISECOND, 0); + assertEquals(format(expected.getTimeInMillis()), format(actual)); + } + + @Test public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth2() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz"); final Calendar initial = Calendar.getInstance(); @@ -79,6 +94,27 @@ public class PatternProcessorTest { } @Test + @Ignore("https://issues.apache.org/jira/browse/LOG4J2-1232") + 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 + final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); + + // expect Monday January 4, 2016 + final Calendar expected = Calendar.getInstance(); + expected.set(2016, Calendar.JANUARY, 4, 00, 00, 00); + expected.set(Calendar.MILLISECOND, 0); + assertEquals(format(expected.getTimeInMillis()), format(actual)); + } finally { + Locale.setDefault(old); + } + } + + @Test public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_US() { final Locale old = Locale.getDefault(); Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday