aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test/tst
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit.test/tst')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcSinceBitmapStatisticsTest.java31
1 files changed, 27 insertions, 4 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcSinceBitmapStatisticsTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcSinceBitmapStatisticsTest.java
index 3cd766c4e9..af52e2cb85 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcSinceBitmapStatisticsTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcSinceBitmapStatisticsTest.java
@@ -20,6 +20,7 @@ import java.util.stream.StreamSupport;
import org.eclipse.jgit.internal.storage.file.GC.RepoStatistics;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.jgit.storage.pack.PackConfig;
import org.junit.Test;
public class GcSinceBitmapStatisticsTest extends GcTestCase {
@@ -51,11 +52,19 @@ public class GcSinceBitmapStatisticsTest extends GcTestCase {
}
@Test
- public void testShouldReportNoPacksDirectlyAfterGc() throws Exception {
- // given
+ public void testShouldReportNoPacksFilesSinceBitmapWhenPackfilesAreOlderThanBitmapFile()
+ throws Exception {
addCommit(null);
- gc.gc().get();
+ configureGC(/* buildBitmap */ false).gc().get();
+ assertEquals(1L, gc.getStatistics().numberOfPackFiles);
+ assertEquals(0L, repositoryBitmapFiles());
+ assertEquals(1L, gc.getStatistics().numberOfPackFilesSinceBitmap);
+
+ addCommit(null);
+ configureGC(/* buildBitmap */ true).gc().get();
+
assertEquals(1L, repositoryBitmapFiles());
+ assertEquals(2L, gc.getStatistics().numberOfPackFiles);
assertEquals(0L, gc.getStatistics().numberOfPackFilesSinceBitmap);
}
@@ -79,8 +88,11 @@ public class GcSinceBitmapStatisticsTest extends GcTestCase {
// progress & pack
addCommit(parent);
- tr.packAndPrune();
+ assertEquals(1L, gc.getStatistics().numberOfPackFiles);
+ assertEquals(0L, gc.getStatistics().numberOfPackFilesSinceBitmap);
+ tr.packAndPrune();
+ assertEquals(2L, gc.getStatistics().numberOfPackFiles);
assertEquals(1L, gc.getStatistics().numberOfPackFilesSinceBitmap);
}
@@ -90,13 +102,17 @@ public class GcSinceBitmapStatisticsTest extends GcTestCase {
// commit & gc
RevCommit parent = addCommit(null);
gc.gc().get();
+ assertEquals(0L, gc.getStatistics().numberOfLooseObjects);
assertEquals(0L, gc.getStatistics().numberOfObjectsSinceBitmap);
// progress & pack
addCommit(parent);
+ assertEquals(1L, gc.getStatistics().numberOfLooseObjects);
assertEquals(1L, gc.getStatistics().numberOfObjectsSinceBitmap);
tr.packAndPrune();
+ assertEquals(0L, gc.getStatistics().numberOfLooseObjects);
+ // Number of objects contained in the newly created PackFile
assertEquals(3L, gc.getStatistics().numberOfObjectsSinceBitmap);
}
@@ -164,4 +180,11 @@ public class GcSinceBitmapStatisticsTest extends GcTestCase {
}
}).sum();
}
+
+ private GC configureGC(boolean buildBitmap) {
+ PackConfig pc = new PackConfig(repo.getObjectDatabase().getConfig());
+ pc.setBuildBitmaps(buildBitmap);
+ gc.setPackConfig(pc);
+ return gc;
+ }
}