Merge branch 'stable-2.14' into stable-2.15
* stable-2.14: TestTimeUtil: Also stub out JGit's SystemReader [redux] AccountManager: Remove unused import Change-Id: I28f145bf9c9376d891c25a2bfe79ac7f9b658e55
This commit is contained in:
@@ -20,6 +20,10 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import org.eclipse.jgit.lib.Config;
|
||||
import org.eclipse.jgit.storage.file.FileBasedConfig;
|
||||
import org.eclipse.jgit.util.FS;
|
||||
import org.eclipse.jgit.util.SystemReader;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.DateTimeUtils;
|
||||
import org.joda.time.DateTimeUtils.MillisProvider;
|
||||
@@ -56,6 +60,7 @@ public class TestTimeUtil {
|
||||
public static synchronized void setClockStep(long clockStep, TimeUnit clockStepUnit) {
|
||||
checkState(clockMs != null, "call resetWithClockStep first");
|
||||
clockStepMs = MILLISECONDS.convert(clockStep, clockStepUnit);
|
||||
|
||||
DateTimeUtils.setCurrentMillisProvider(
|
||||
new MillisProvider() {
|
||||
@Override
|
||||
@@ -63,6 +68,47 @@ public class TestTimeUtil {
|
||||
return clockMs.getAndAdd(clockStepMs);
|
||||
}
|
||||
});
|
||||
|
||||
SystemReader.setInstance(null);
|
||||
final SystemReader defaultReader = SystemReader.getInstance();
|
||||
SystemReader r =
|
||||
new SystemReader() {
|
||||
@Override
|
||||
public String getHostname() {
|
||||
return defaultReader.getHostname();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getenv(String variable) {
|
||||
return defaultReader.getenv(variable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProperty(String key) {
|
||||
return defaultReader.getProperty(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileBasedConfig openUserConfig(Config parent, FS fs) {
|
||||
return defaultReader.openUserConfig(parent, fs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileBasedConfig openSystemConfig(Config parent, FS fs) {
|
||||
return defaultReader.openSystemConfig(parent, fs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getCurrentTime() {
|
||||
return clockMs.getAndAdd(clockStepMs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTimezone(long when) {
|
||||
return defaultReader.getTimezone(when);
|
||||
}
|
||||
};
|
||||
SystemReader.setInstance(r);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -86,10 +132,15 @@ public class TestTimeUtil {
|
||||
clockMs.addAndGet(clockStepUnit.toMillis(clockStep));
|
||||
}
|
||||
|
||||
/** Reset the clock to use the actual system clock. */
|
||||
/**
|
||||
* Reset the clock to use the actual system clock.
|
||||
*
|
||||
* <p>As a side effect, resets the {@link SystemReader} to the original default instance.
|
||||
*/
|
||||
public static synchronized void useSystemTime() {
|
||||
clockMs = null;
|
||||
DateTimeUtils.setCurrentMillisSystem();
|
||||
SystemReader.setInstance(null);
|
||||
}
|
||||
|
||||
private TestTimeUtil() {}
|
||||
|
||||
Reference in New Issue
Block a user