Repository: logging-log4j2
Updated Branches:
  refs/heads/master f28d3d8b4 -> 5644b1322


[LOG4J2-1232] Incorrect log rotation in last week of year. Sort methods.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/5644b132
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/5644b132
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/5644b132

Branch: refs/heads/master
Commit: 5644b13228139ae22062b8590d1b1ee857a1f6b4
Parents: f28d3d8
Author: ggregory <[email protected]>
Authored: Thu Dec 31 18:51:42 2015 -0800
Committer: ggregory <[email protected]>
Committed: Thu Dec 31 18:51:42 2015 -0800

----------------------------------------------------------------------
 .../appender/rolling/PatternProcessorTest.java  | 244 +++++++++----------
 1 file changed, 122 insertions(+), 122 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5644b132/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 c06b815..f366877 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
@@ -38,177 +38,143 @@ public class PatternProcessorTest {
     }
 
     @Test
-    public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth() {
-        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
-        final Calendar initial = Calendar.getInstance();
-        initial.set(2014, Calendar.OCTOBER, 15, 10, 31, 59); // Oct 15th
-        final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
+    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.SECOND, 15);
 
-        // We expect 1st day of next month
-        final Calendar expected = Calendar.getInstance();
-        expected.set(2014, Calendar.NOVEMBER, 1, 00, 00, 00);
-        expected.set(Calendar.MILLISECOND, 0);
-        assertEquals(format(expected.getTimeInMillis()), format(actual));
+        final StringBuilder buf = new StringBuilder();
+        pp.formatFileName(buf, cal.getTime(), 23);
+        assertEquals("c:\\test\\new/app-16-02-15.log", buf.toString());
     }
 
     @Test
-    public void testGetNextTimeMonthlyReturnsFirstDayOfNextYear() {
-        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
+    public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour() {
+        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
         final Calendar initial = Calendar.getInstance();
-        initial.set(2015, Calendar.DECEMBER, 28, 0, 0, 0);
+        initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 
2014, 10:31
         final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
-        // We expect 1st day of next month
+        // expect Wed, March 4, 2014, 11:00
         final Calendar expected = Calendar.getInstance();
-        expected.set(2016, Calendar.JANUARY, 1, 00, 00, 00);
+        expected.set(2014, Calendar.MARCH, 4, 11, 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");
+    public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour2() {
+        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
         final Calendar initial = Calendar.getInstance();
-        initial.set(2014, Calendar.JANUARY, 31, 10, 31, 59); // 2014 Jan 31st
+        initial.set(2014, Calendar.MARCH, 4, 23, 31, 59); // Tue, March 4, 
2014, 23:31
         final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
-        // Expect 1st of next month: 2014 Feb 1st
+        // expect Wed, March 5, 2014, 00:00
         final Calendar expected = Calendar.getInstance();
-        expected.set(2014, Calendar.FEBRUARY, 1, 00, 00, 00);
+        expected.set(2014, Calendar.MARCH, 5, 00, 00, 00);
         expected.set(Calendar.MILLISECOND, 0);
         assertEquals(format(expected.getTimeInMillis()), format(actual));
     }
 
     @Test
-    public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth3() {
-        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
+    public void testGetNextTimeHourlyReturnsFirstMinuteOfNextYear() {
+        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
         final Calendar initial = Calendar.getInstance();
-        initial.set(2014, Calendar.DECEMBER, 31, 10, 31, 59); // 2014 Dec 31st
+        initial.set(2015, Calendar.DECEMBER, 31, 23, 31, 59);
         final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
-        // Expect 1st of next month: 2015 Jan 1st
         final Calendar expected = Calendar.getInstance();
-        expected.set(2015, 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
-    @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
-
-        try {
-            final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz");
-            final Calendar initial = Calendar.getInstance();
-            initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 
2014
-            final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
+    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();
+        initial.set(2014, Calendar.MARCH, 4, 10, 31, 53); // Tue, March 4, 
2014, 10:31:53.123
+        initial.set(Calendar.MILLISECOND, 123);
+        assertEquals("2014/03/04 10:31:53.123", 
format(initial.getTimeInMillis()));
+        final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
-            // expect Sunday, March 9, 2014
-            final Calendar expected = Calendar.getInstance();
-            expected.set(2014, Calendar.MARCH, 9, 00, 00, 00);
-            expected.set(Calendar.MILLISECOND, 0);
-            assertEquals(format(expected.getTimeInMillis()), format(actual));
-        } finally {
-            Locale.setDefault(old);
-        }
+        // expect Tue, March 4, 2014, 10:31:53.124
+        final Calendar expected = Calendar.getInstance();
+        expected.set(2014, Calendar.MARCH, 4, 10, 31, 53);
+        expected.set(Calendar.MILLISECOND, 124);
+        assertEquals(format(expected.getTimeInMillis()), format(actual));
     }
 
     @Test
-    public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_FRANCE() {
-        final Locale old = Locale.getDefault();
-        Locale.setDefault(Locale.FRANCE); // force 1st day of the week to be 
Monday
-
-        try {
-            final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz");
-            final Calendar initial = Calendar.getInstance();
-            initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 
2014
-            final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
+    public void testGetNextTimeMinutelyReturnsFirstSecondOfNextMinute() {
+        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm}.log.gz");
+        final Calendar initial = Calendar.getInstance();
+        initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 
2014, 10:31
+        initial.set(Calendar.MILLISECOND, 0);
+        assertEquals("2014/03/04 10:31:59.000", 
format(initial.getTimeInMillis()));
+        final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
-            // expect Monday, March 10, 2014
-            final Calendar expected = Calendar.getInstance();
-            expected.set(2014, Calendar.MARCH, 10, 00, 00, 00);
-            expected.set(Calendar.MILLISECOND, 0);
-            assertEquals(format(expected.getTimeInMillis()), format(actual));
-        } finally {
-            Locale.setDefault(old);
-        }
+        // expect Tue, March 4, 2014, 10:32
+        final Calendar expected = Calendar.getInstance();
+        expected.set(2014, Calendar.MARCH, 4, 10, 32, 00);
+        expected.set(Calendar.MILLISECOND, 0);
+        assertEquals(format(expected.getTimeInMillis()), format(actual));
     }
 
     @Test
-    public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour() {
-        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
+    public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth() {
+        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
         final Calendar initial = Calendar.getInstance();
-        initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 
2014, 10:31
+        initial.set(2014, Calendar.OCTOBER, 15, 10, 31, 59); // Oct 15th
         final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
-        // expect Wed, March 4, 2014, 11:00
+        // We expect 1st day of next month
         final Calendar expected = Calendar.getInstance();
-        expected.set(2014, Calendar.MARCH, 4, 11, 00, 00);
+        expected.set(2014, Calendar.NOVEMBER, 1, 00, 00, 00);
         expected.set(Calendar.MILLISECOND, 0);
         assertEquals(format(expected.getTimeInMillis()), format(actual));
     }
 
     @Test
-    public void testGetNextTimeHourlyReturnsFirstMinuteOfNextYear() {
-        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
+    public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth2() {
+        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
         final Calendar initial = Calendar.getInstance();
-        initial.set(2015, Calendar.DECEMBER, 31, 23, 31, 59);
+        initial.set(2014, Calendar.JANUARY, 31, 10, 31, 59); // 2014 Jan 31st
         final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
+        // Expect 1st of next month: 2014 Feb 1st
         final Calendar expected = Calendar.getInstance();
-        expected.set(2016, Calendar.JANUARY, 1, 0, 0, 0);
+        expected.set(2014, Calendar.FEBRUARY, 1, 00, 00, 00);
         expected.set(Calendar.MILLISECOND, 0);
         assertEquals(format(expected.getTimeInMillis()), format(actual));
     }
 
     @Test
-    public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour2() {
-        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
+    public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth3() {
+        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
         final Calendar initial = Calendar.getInstance();
-        initial.set(2014, Calendar.MARCH, 4, 23, 31, 59); // Tue, March 4, 
2014, 23:31
+        initial.set(2014, Calendar.DECEMBER, 31, 10, 31, 59); // 2014 Dec 31st
         final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
-        // expect Wed, March 5, 2014, 00:00
+        // Expect 1st of next month: 2015 Jan 1st
         final Calendar expected = Calendar.getInstance();
-        expected.set(2014, Calendar.MARCH, 5, 00, 00, 00);
+        expected.set(2015, Calendar.JANUARY, 1, 00, 00, 00);
         expected.set(Calendar.MILLISECOND, 0);
         assertEquals(format(expected.getTimeInMillis()), format(actual));
     }
 
     @Test
-    public void testGetNextTimeMinutelyReturnsFirstSecondOfNextMinute() {
-        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm}.log.gz");
+    public void testGetNextTimeMonthlyReturnsFirstDayOfNextYear() {
+        final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
         final Calendar initial = Calendar.getInstance();
-        initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 
2014, 10:31
-        initial.set(Calendar.MILLISECOND, 0);
-        assertEquals("2014/03/04 10:31:59.000", 
format(initial.getTimeInMillis()));
+        initial.set(2015, Calendar.DECEMBER, 28, 0, 0, 0);
         final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
 
-        // expect Tue, March 4, 2014, 10:32
+        // We expect 1st day of next month
         final Calendar expected = Calendar.getInstance();
-        expected.set(2014, Calendar.MARCH, 4, 10, 32, 00);
+        expected.set(2016, Calendar.JANUARY, 1, 00, 00, 00);
         expected.set(Calendar.MILLISECOND, 0);
         assertEquals(format(expected.getTimeInMillis()), format(actual));
     }
@@ -230,31 +196,65 @@ public class PatternProcessorTest {
     }
 
     @Test
-    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();
-        initial.set(2014, Calendar.MARCH, 4, 10, 31, 53); // Tue, March 4, 
2014, 10:31:53.123
-        initial.set(Calendar.MILLISECOND, 123);
-        assertEquals("2014/03/04 10:31:53.123", 
format(initial.getTimeInMillis()));
-        final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
+    public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_FRANCE() {
+        final Locale old = Locale.getDefault();
+        Locale.setDefault(Locale.FRANCE); // force 1st day of the week to be 
Monday
 
-        // expect Tue, March 4, 2014, 10:31:53.124
-        final Calendar expected = Calendar.getInstance();
-        expected.set(2014, Calendar.MARCH, 4, 10, 31, 53);
-        expected.set(Calendar.MILLISECOND, 124);
-        assertEquals(format(expected.getTimeInMillis()), format(actual));
+        try {
+            final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz");
+            final Calendar initial = Calendar.getInstance();
+            initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 
2014
+            final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
+
+            // expect Monday, March 10, 2014
+            final Calendar expected = Calendar.getInstance();
+            expected.set(2014, Calendar.MARCH, 10, 00, 00, 00);
+            expected.set(Calendar.MILLISECOND, 0);
+            assertEquals(format(expected.getTimeInMillis()), format(actual));
+        } finally {
+            Locale.setDefault(old);
+        }
     }
 
     @Test
-    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.SECOND, 15);
+    public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_US() {
+        final Locale old = Locale.getDefault();
+        Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday
 
-        final StringBuilder buf = new StringBuilder();
-        pp.formatFileName(buf, cal.getTime(), 23);
-        assertEquals("c:\\test\\new/app-16-02-15.log", buf.toString());
+        try {
+            final PatternProcessor pp = new 
PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz");
+            final Calendar initial = Calendar.getInstance();
+            initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 
2014
+            final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, 
false);
+
+            // expect Sunday, March 9, 2014
+            final Calendar expected = Calendar.getInstance();
+            expected.set(2014, Calendar.MARCH, 9, 00, 00, 00);
+            expected.set(Calendar.MILLISECOND, 0);
+            assertEquals(format(expected.getTimeInMillis()), format(actual));
+        } finally {
+            Locale.setDefault(old);
+        }
+    }
+
+    @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);
+        }
     }
 }

Reply via email to