diff options
-rw-r--r-- | org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java | 2 | ||||
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java | 18 |
2 files changed, 15 insertions, 5 deletions
diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java index 3d21f9f8ad..65551d6579 100644 --- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java +++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java @@ -184,6 +184,7 @@ public class MockSystemReader extends SystemReader { setProperty("file.separator", "\\"); setProperty("path.separator", ";"); setProperty("line.separator", "\r\n"); + setPlatformChecker(); } /** @@ -194,5 +195,6 @@ public class MockSystemReader extends SystemReader { setProperty("file.separator", "/"); setProperty("path.separator", ":"); setProperty("line.separator", "\n"); + setPlatformChecker(); } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java index 3447f639d4..f6f415e85b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java @@ -163,11 +163,19 @@ public abstract class SystemReader { private void init() { // Creating ObjectChecker must be deferred. Unit tests change // behavior of is{Windows,MacOS} in constructor of subclass. - if (platformChecker == null) { - platformChecker = new ObjectChecker() - .setSafeForWindows(isWindows()) - .setSafeForMacOS(isMacOS()); - } + if (platformChecker == null) + setPlatformChecker(); + } + + /** + * Should be used in tests when the platform is explicitly changed. + * + * @since 3.6 + */ + protected final void setPlatformChecker() { + platformChecker = new ObjectChecker() + .setSafeForWindows(isWindows()) + .setSafeForMacOS(isMacOS()); } /** |