aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java2
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java18
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());
}
/**