Add a testing method to set the clock step used by TimeUtil

Change-Id: Ia6e642474c97e5217a6c5de01db41c8d24ba5d51
This commit is contained in:
Dave Borowitz
2015-12-07 16:16:10 -05:00
committed by David Pursehouse
parent 1ced04653e
commit bd5fdc3d29
8 changed files with 106 additions and 96 deletions

View File

@@ -17,7 +17,6 @@ package com.google.gerrit.acceptance.git;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.TruthJUnit.assume;
import static com.google.gerrit.acceptance.GitUtil.pushHead;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static java.util.concurrent.TimeUnit.SECONDS;
import com.google.common.collect.ImmutableSet;
@@ -33,12 +32,10 @@ import com.google.gerrit.extensions.common.ChangeInfo;
import com.google.gerrit.extensions.common.EditInfo;
import com.google.gerrit.extensions.common.LabelInfo;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.testutil.TestTimeUtil;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.PushResult;
import org.joda.time.DateTime;
import org.joda.time.DateTimeUtils;
import org.joda.time.DateTimeUtils.MillisProvider;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -46,7 +43,6 @@ import org.junit.Test;
import java.util.List;
import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
public abstract class AbstractPushForReview extends AbstractDaemonTest {
protected enum Protocol {
@@ -58,20 +54,12 @@ public abstract class AbstractPushForReview extends AbstractDaemonTest {
@BeforeClass
public static void setTimeForTesting() {
final long clockStepMs = MILLISECONDS.convert(1, SECONDS);
final AtomicLong clockMs = new AtomicLong(
new DateTime(2009, 9, 30, 17, 0, 0).getMillis());
DateTimeUtils.setCurrentMillisProvider(new MillisProvider() {
@Override
public long getMillis() {
return clockMs.getAndAdd(clockStepMs);
}
});
TestTimeUtil.resetWithClockStep(1, SECONDS);
}
@AfterClass
public static void restoreTime() {
DateTimeUtils.setCurrentMillisSystem();
TestTimeUtil.useSystemTime();
}
@Before