public void testConfigureCache_PackedGitWindowSize_4097() {
   try {
     final WindowCacheConfig cfg = new WindowCacheConfig();
     cfg.setPackedGitWindowSize(4097);
     WindowCache.reconfigure(cfg);
     fail("incorrectly permitted PackedGitWindowSize = 4097");
   } catch (IllegalArgumentException e) {
     assertEquals("Window size must be power of 2", e.getMessage());
   }
 }
 public void testConfigureCache_PackedGitWindowSize_512() {
   try {
     final WindowCacheConfig cfg = new WindowCacheConfig();
     cfg.setPackedGitWindowSize(512);
     WindowCache.reconfigure(cfg);
     fail("incorrectly permitted PackedGitWindowSize = 512");
   } catch (IllegalArgumentException e) {
     assertEquals("Invalid window size", e.getMessage());
   }
 }
 public void testConfigureCache_PackedGitWindowSizeAbovePackedGitLimit() {
   try {
     final WindowCacheConfig cfg = new WindowCacheConfig();
     cfg.setPackedGitLimit(1024);
     cfg.setPackedGitWindowSize(8192);
     WindowCache.reconfigure(cfg);
     fail("incorrectly permitted PackedGitWindowSize > PackedGitLimit");
   } catch (IllegalArgumentException e) {
     assertEquals("Window size must be < limit", e.getMessage());
   }
 }
 public void testConfigureCache_Limits1() {
   // This test is just to force coverage over some lower bounds for
   // the table. We don't want the table to wind up with too small
   // of a size. This is highly dependent upon the table allocation
   // algorithm actually implemented in WindowCache.
   //
   final WindowCacheConfig cfg = new WindowCacheConfig();
   cfg.setPackedGitLimit(6 * 4096 / 5);
   cfg.setPackedGitWindowSize(4096);
   WindowCache.reconfigure(cfg);
 }
Example #5
0
 /**
  * Modify the configuration of the window cache.
  *
  * <p>The new configuration is applied immediately. If the new limits are smaller than what what
  * is currently cached, older entries will be purged as soon as possible to allow the cache to
  * meet the new limit.
  *
  * @param packedGitLimit maximum number of bytes to hold within this instance.
  * @param packedGitWindowSize number of bytes per window within the cache.
  * @param packedGitMMAP true to enable use of mmap when creating windows.
  * @param deltaBaseCacheLimit number of bytes to hold in the delta base cache.
  * @deprecated Use {@link WindowCacheConfig} instead.
  */
 public static void reconfigure(
     final int packedGitLimit,
     final int packedGitWindowSize,
     final boolean packedGitMMAP,
     final int deltaBaseCacheLimit) {
   final WindowCacheConfig c = new WindowCacheConfig();
   c.setPackedGitLimit(packedGitLimit);
   c.setPackedGitWindowSize(packedGitWindowSize);
   c.setPackedGitMMAP(packedGitMMAP);
   c.setDeltaBaseCacheLimit(deltaBaseCacheLimit);
   reconfigure(c);
 }