You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2015/11/30 10:06:05 UTC

[45/50] logging-log4j2 git commit: LOG4J2-435 update test now that path is relevant when time is same

LOG4J2-435 update test now that path is relevant when time is same

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

Branch: refs/heads/LOG4J-1181
Commit: cae75bce8c0360e90b3e7df298cf5eb8a16a8fdf
Parents: 89762fb
Author: rpopma <rp...@apache.org>
Authored: Sun Nov 29 16:49:55 2015 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Nov 29 16:49:55 2015 +0900

----------------------------------------------------------------------
 .../rolling/action/PathSortByModificationTime.java        | 10 ++++++----
 .../rolling/action/PathSortByModificationTimeTest.java    |  8 ++++----
 2 files changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/cae75bce/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java
index 22aaf20..0375c49 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java
@@ -70,14 +70,16 @@ public class PathSortByModificationTime implements PathSorter {
     public int compare(final PathWithAttributes path1, final PathWithAttributes path2) {
         final long lastModified1 = path1.getAttributes().lastModifiedTime().toMillis();
         final long lastModified2 = path2.getAttributes().lastModifiedTime().toMillis();
-        int result = multiplier * Long.signum(lastModified2 - lastModified1);
+        int result = Long.signum(lastModified2 - lastModified1);
         if (result == 0) { // if same time compare paths lexicographically
             try {
-                result = path1.getPath().compareTo(path2.getPath());
+                // assuming paths contain counters and dates, use reverse lexicographical order:
+                // 20151129 before 20151128, path-2.log before path-1.log
+                result = path2.getPath().compareTo(path1.getPath());
             } catch (final ClassCastException ex) {
-                result = path1.getPath().toString().compareTo(path2.getPath().toString());
+                result = path2.getPath().toString().compareTo(path1.getPath().toString());
             }
         }
-        return result;
+        return multiplier * result;
     }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/cae75bce/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTimeTest.java
----------------------------------------------------------------------
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 8127cac..5158789 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
@@ -59,8 +59,8 @@ public class PathSortByModificationTimeTest {
         assertEquals("path ignored, 1st more recent", -1, sorter.compare(path(p2, a2), path(p1, a1)));
         
         assertEquals("same path, same time", 0, sorter.compare(path(p1, a1), path(p1, a1)));
-        assertEquals("path ignored, same time", 0, sorter.compare(path(p1, a1), path(p2, a1)));
-        assertEquals("path ignored, same time", 0, sorter.compare(path(p2, 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)));
     }
 
     @Test
@@ -82,8 +82,8 @@ public class PathSortByModificationTimeTest {
         assertEquals("path ignored, 1st more recent", 1, sorter.compare(path(p2, a2), path(p1, a1)));
         
         assertEquals("same path, same time", 0, sorter.compare(path(p1, a1), path(p1, a1)));
-        assertEquals("path ignored, same time", 0, sorter.compare(path(p1, a1), path(p2, a1)));
-        assertEquals("path ignored, same time", 0, sorter.compare(path(p2, 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)));
     }
 
     private PathWithAttributes path(Path path, DummyFileAttributes attributes) {