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 <[email protected]>
Authored: Sun Nov 29 16:49:55 2015 +0900
Committer: rpopma <[email protected]>
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) 
{

Reply via email to