Merge "Fixed instability in some GC tests."
This commit is contained in:
commit
46d42404d3
|
@ -51,6 +51,7 @@
|
|||
import java.util.Collection;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.concurrent.BrokenBarrierException;
|
||||
import java.util.concurrent.Callable;
|
||||
|
@ -66,6 +67,7 @@
|
|||
import org.eclipse.jgit.junit.TestRepository.BranchBuilder;
|
||||
import org.eclipse.jgit.lib.Constants;
|
||||
import org.eclipse.jgit.junit.TestRepository.CommitBuilder;
|
||||
import org.eclipse.jgit.lib.AnyObjectId;
|
||||
import org.eclipse.jgit.lib.EmptyProgressMonitor;
|
||||
import org.eclipse.jgit.lib.ObjectId;
|
||||
import org.eclipse.jgit.lib.RepositoryTestCase;
|
||||
|
@ -291,12 +293,8 @@ public Integer call() throws Exception {
|
|||
|
||||
@Test
|
||||
public void nonReferencedNonExpiredObject_notPruned() throws Exception {
|
||||
long start = now();
|
||||
|
||||
fsTick();
|
||||
RevBlob a = tr.blob("a");
|
||||
long delta = now() - start;
|
||||
gc.setExpireAgeMillis(delta);
|
||||
gc.setExpire(new Date(lastModified(a)));
|
||||
gc.prune(Collections.<ObjectId> emptySet());
|
||||
assertTrue(repo.hasObject(a));
|
||||
}
|
||||
|
@ -322,13 +320,11 @@ public void nonReferencedExpiredObjectTree_pruned() throws Exception {
|
|||
@Test
|
||||
public void nonReferencedObjects_onlyExpiredPruned() throws Exception {
|
||||
RevBlob a = tr.blob("a");
|
||||
|
||||
fsTick();
|
||||
long start = now();
|
||||
gc.setExpire(new Date(lastModified(a) + 1));
|
||||
|
||||
fsTick();
|
||||
RevBlob b = tr.blob("b");
|
||||
gc.setExpireAgeMillis(now() - start);
|
||||
|
||||
gc.prune(Collections.<ObjectId> emptySet());
|
||||
assertFalse(repo.hasObject(a));
|
||||
assertTrue(repo.hasObject(b));
|
||||
|
@ -700,8 +696,8 @@ private RevCommit commitChain(int depth) throws Exception {
|
|||
return tip;
|
||||
}
|
||||
|
||||
private static long now() {
|
||||
return System.currentTimeMillis();
|
||||
private long lastModified(AnyObjectId objectId) {
|
||||
return repo.getObjectDatabase().fileFor(objectId).lastModified();
|
||||
}
|
||||
|
||||
private static void fsTick() throws InterruptedException, IOException {
|
||||
|
|
Loading…
Reference in New Issue