summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test
diff options
context:
space:
mode:
authorMatthias Sohn <matthias.sohn@sap.com>2020-02-01 02:17:49 +0100
committerMatthias Sohn <matthias.sohn@sap.com>2020-02-01 02:17:49 +0100
commiteaff0a2eba33c6191ef0e156c7e7e6899efe281c (patch)
tree39d8e7e05444293eb2a36d864570753f7ce266c8 /org.eclipse.jgit.test
parent0babfaad8c6c695a24b9593273ba3e5ae8c2285b (diff)
parent7e3e740cc7a8b4973534152070c827ec2ad809fa (diff)
downloadjgit-eaff0a2eba33c6191ef0e156c7e7e6899efe281c.tar.gz
jgit-eaff0a2eba33c6191ef0e156c7e7e6899efe281c.zip
Merge branch 'stable-5.7'
* stable-5.7: Fix string format parameter for invalidRefAdvertisementLine WindowCache: add metric for cached bytes per repository pgm daemon: fallback to user and system config if no config specified WindowCache: add option to use strong refs to reference ByteWindows Replace usage of ArrayIndexOutOfBoundsException in treewalk Add config constants for WindowCache configuration options Change-Id: I0538bcba259f7229790a602ac9de120464a1260d
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/WindowCacheGetTest.java68
1 files changed, 45 insertions, 23 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/WindowCacheGetTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/WindowCacheGetTest.java
index ca6dbfe405..004d95938f 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/WindowCacheGetTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/WindowCacheGetTest.java
@@ -20,6 +20,8 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import org.eclipse.jgit.errors.CorruptObjectException;
@@ -33,9 +35,25 @@ import org.eclipse.jgit.test.resources.SampleDataRepositoryTestCase;
import org.eclipse.jgit.util.MutableInteger;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+@RunWith(Parameterized.class)
public class WindowCacheGetTest extends SampleDataRepositoryTestCase {
private List<TestObject> toLoad;
+ private WindowCacheConfig cfg;
+ private boolean useStrongRefs;
+
+ @Parameters(name = "useStrongRefs={0}")
+ public static Collection<Object[]> data() {
+ return Arrays
+ .asList(new Object[][] { { Boolean.TRUE }, { Boolean.FALSE } });
+ }
+
+ public WindowCacheGetTest(Boolean useStrongRef) {
+ this.useStrongRefs = useStrongRef.booleanValue();
+ }
@Override
@Before
@@ -60,11 +78,12 @@ public class WindowCacheGetTest extends SampleDataRepositoryTestCase {
}
}
assertEquals(96, toLoad.size());
+ cfg = new WindowCacheConfig();
+ cfg.setPackedGitUseStrongRefs(useStrongRefs);
}
@Test
public void testCache_Defaults() throws IOException {
- WindowCacheConfig cfg = new WindowCacheConfig();
cfg.install();
doCacheTests();
checkLimits(cfg);
@@ -89,7 +108,6 @@ public class WindowCacheGetTest extends SampleDataRepositoryTestCase {
@Test
public void testCache_TooFewFiles() throws IOException {
- final WindowCacheConfig cfg = new WindowCacheConfig();
cfg.setPackedGitOpenFiles(2);
cfg.install();
doCacheTests();
@@ -98,7 +116,6 @@ public class WindowCacheGetTest extends SampleDataRepositoryTestCase {
@Test
public void testCache_TooSmallLimit() throws IOException {
- final WindowCacheConfig cfg = new WindowCacheConfig();
cfg.setPackedGitWindowSize(4096);
cfg.setPackedGitLimit(4096);
cfg.install();
@@ -109,26 +126,31 @@ public class WindowCacheGetTest extends SampleDataRepositoryTestCase {
private static void checkLimits(WindowCacheConfig cfg) {
final WindowCache cache = WindowCache.getInstance();
WindowCacheStats s = cache.getStats();
- assertTrue(0 < s.getAverageLoadTime());
- assertTrue(0 < s.getOpenByteCount());
- assertTrue(0 < s.getOpenByteCount());
- assertTrue(0.0 < s.getAverageLoadTime());
- assertTrue(0 <= s.getEvictionCount());
- assertTrue(0 < s.getHitCount());
- assertTrue(0 < s.getHitRatio());
- assertTrue(1 > s.getHitRatio());
- assertTrue(0 < s.getLoadCount());
- assertTrue(0 <= s.getLoadFailureCount());
- assertTrue(0.0 <= s.getLoadFailureRatio());
- assertTrue(1 > s.getLoadFailureRatio());
- assertTrue(0 < s.getLoadSuccessCount());
- assertTrue(s.getOpenByteCount() <= cfg.getPackedGitLimit());
- assertTrue(s.getOpenFileCount() <= cfg.getPackedGitOpenFiles());
- assertTrue(0 <= s.getMissCount());
- assertTrue(0 <= s.getMissRatio());
- assertTrue(1 > s.getMissRatio());
- assertTrue(0 < s.getRequestCount());
- assertTrue(0 < s.getTotalLoadTime());
+ assertTrue("average load time should be > 0",
+ 0 < s.getAverageLoadTime());
+ assertTrue("open byte count should be > 0", 0 < s.getOpenByteCount());
+ assertTrue("eviction count should be >= 0", 0 <= s.getEvictionCount());
+ assertTrue("hit count should be > 0", 0 < s.getHitCount());
+ assertTrue("hit ratio should be > 0", 0 < s.getHitRatio());
+ assertTrue("hit ratio should be < 1", 1 > s.getHitRatio());
+ assertTrue("load count should be > 0", 0 < s.getLoadCount());
+ assertTrue("load failure count should be >= 0",
+ 0 <= s.getLoadFailureCount());
+ assertTrue("load failure ratio should be >= 0",
+ 0.0 <= s.getLoadFailureRatio());
+ assertTrue("load failure ratio should be < 1",
+ 1 > s.getLoadFailureRatio());
+ assertTrue("load success count should be > 0",
+ 0 < s.getLoadSuccessCount());
+ assertTrue("open byte count should be <= core.packedGitLimit",
+ s.getOpenByteCount() <= cfg.getPackedGitLimit());
+ assertTrue("open file count should be <= core.packedGitOpenFiles",
+ s.getOpenFileCount() <= cfg.getPackedGitOpenFiles());
+ assertTrue("miss success count should be >= 0", 0 <= s.getMissCount());
+ assertTrue("miss ratio should be > 0", 0 <= s.getMissRatio());
+ assertTrue("miss ratio should be < 1", 1 > s.getMissRatio());
+ assertTrue("request count should be > 0", 0 < s.getRequestCount());
+ assertTrue("total load time should be > 0", 0 < s.getTotalLoadTime());
}
private void doCacheTests() throws IOException {