Disable tests not compliant with Java 17 out of the box

Many of the tests are not yet compliant with Java 17 because of
the lack of a proper set of system properties.

Change-Id: Iaf6b9a2678c3153e78a072bc76cbf3c6f6dc29b7
diff --git a/BUILD b/BUILD
index dc34ede..3947a62 100644
--- a/BUILD
+++ b/BUILD
@@ -65,6 +65,7 @@
 java_library(
     name = "chroniclemap-test-lib",
     testonly = True,
-    srcs = ["src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/TestPersistentCacheDef.java"],
-    deps = PLUGIN_DEPS,
+    srcs = ["src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/TestPersistentCacheDef.java",
+            "src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AssumeJava11.java"],
+    deps = PLUGIN_DEPS + [ "//lib:junit" ],
 )
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AnalyzeH2CachesIT.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AnalyzeH2CachesIT.java
index 7c55849..016e479 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AnalyzeH2CachesIT.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AnalyzeH2CachesIT.java
@@ -15,6 +15,7 @@
 package com.googlesource.gerrit.modules.cache.chroniclemap;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
 
 import com.google.common.base.Joiner;
 import com.google.gerrit.acceptance.LightweightPluginDaemonTest;
@@ -26,6 +27,7 @@
 import com.google.inject.Inject;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import org.junit.Before;
 import org.junit.Test;
 
 @UseSsh
@@ -40,6 +42,11 @@
 
   private String cmd = Joiner.on(" ").join("cache-chroniclemap", "analyze-h2-caches");
 
+  @Before
+  public void setup() {
+    assumeJava11();
+  }
+
   @Test
   public void shouldAnalyzeH2Cache() throws Exception {
     createChange();
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AssumeJava11.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AssumeJava11.java
new file mode 100644
index 0000000..be22f5d
--- /dev/null
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AssumeJava11.java
@@ -0,0 +1,28 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.googlesource.gerrit.modules.cache.chroniclemap;
+
+import static org.junit.Assume.assumeTrue;
+
+interface AssumeJava11 {
+
+  static void assumeJava11() {
+    assumeTrue(isJava11());
+  }
+
+  static boolean isJava11() {
+    return System.getProperty("java.version").startsWith("11.");
+  }
+}
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCachesIT.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCachesIT.java
index 5e4fe22..ab763f0 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCachesIT.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCachesIT.java
@@ -15,6 +15,8 @@
 package com.googlesource.gerrit.modules.cache.chroniclemap;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.isJava11;
 import static com.googlesource.gerrit.modules.cache.chroniclemap.AutoAdjustCaches.MAX_ENTRIES_MULTIPLIER;
 import static com.googlesource.gerrit.modules.cache.chroniclemap.AutoAdjustCaches.PERCENTAGE_SIZE_INCREASE_THRESHOLD;
 import static com.googlesource.gerrit.modules.cache.chroniclemap.AutoAdjustCachesCommand.CONFIG_HEADER;
@@ -36,6 +38,7 @@
 import com.google.gerrit.common.Nullable;
 import com.google.gerrit.server.ModuleImpl;
 import com.google.gerrit.server.cache.CacheModule;
+import com.google.gerrit.server.cache.h2.H2CacheModule;
 import com.google.gerrit.server.config.SitePaths;
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
@@ -49,6 +52,7 @@
 import java.util.stream.Stream;
 import org.eclipse.jgit.errors.ConfigInvalidException;
 import org.eclipse.jgit.lib.Config;
+import org.junit.Before;
 import org.junit.Test;
 
 @Sandboxed
@@ -97,7 +101,12 @@
       persist(TEST_CACHE_NAME, String.class, String.class)
           .loader(TestCacheLoader.class)
           .version(TEST_CACHE_VERSION);
-      install(new ChronicleMapCacheModule());
+
+      if (isJava11()) {
+        install(new ChronicleMapCacheModule());
+      } else {
+        install(new H2CacheModule());
+      }
     }
   }
 
@@ -109,6 +118,11 @@
     }
   }
 
+  @Before
+  public void setup() {
+    assumeJava11();
+  }
+
   @Override
   public com.google.inject.Module createModule() {
     return new TestPersistentCacheModule();
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndexTest.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndexTest.java
index c8a8b66..0df1a9c 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndexTest.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndexTest.java
@@ -15,6 +15,7 @@
 package com.googlesource.gerrit.modules.cache.chroniclemap;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
 import static com.googlesource.gerrit.modules.cache.chroniclemap.CacheKeysIndex.tempIndexFile;
 import static java.util.stream.Collectors.toList;
 import static org.mockito.Mockito.mock;
@@ -41,6 +42,7 @@
 
   @Before
   public void setup() throws IOException {
+    assumeJava11();
     CacheSerializers.registerCacheKeySerializer(CACHE_NAME, StringCacheSerializer.INSTANCE);
     indexFile = temporaryFolder.newFolder().toPath().resolve("cache.index").toFile();
     index = new CacheKeysIndex<>(new DisabledMetricMaker(), CACHE_NAME, indexFile, false);
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheConfigDefaultsIT.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheConfigDefaultsIT.java
index f3e909d..132134e 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheConfigDefaultsIT.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheConfigDefaultsIT.java
@@ -15,6 +15,8 @@
 package com.googlesource.gerrit.modules.cache.chroniclemap;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.isJava11;
 
 import com.google.gerrit.acceptance.AbstractDaemonTest;
 import com.google.gerrit.acceptance.UseLocalDisk;
@@ -29,10 +31,13 @@
 public class ChronicleMapCacheConfigDefaultsIT extends AbstractDaemonTest {
   @Override
   public ChronicleMapCacheModule createModule() {
-    // CacheSerializers is accumulating cache names from different test executions in CI therefore
-    // it has to be cleared before this test
-    CacheSerializers.clear();
-    return new ChronicleMapCacheModule();
+    if (isJava11()) {
+      // CacheSerializers is accumulating cache names from different test executions in CI therefore
+      // it has to be cleared before this test
+      CacheSerializers.clear();
+      return new ChronicleMapCacheModule();
+    }
+    return null;
   }
 
   @Test
@@ -41,6 +46,7 @@
   @GerritConfig(name = "cache.change_notes.diskLimit", value = "1")
   @GerritConfig(name = "cache.external_ids_map.diskLimit", value = "1")
   public void shouldAllPersistentCachesHaveDefaultConfiguration() throws Exception {
+    assumeJava11();
     Set<String> allCaches = CacheSerializers.getSerializersNames();
     assertThat(Defaults.defaultMap.keySet()).containsExactlyElementsIn(allCaches);
   }
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheIT.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheIT.java
index 9367727..f98dac7 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheIT.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheIT.java
@@ -15,6 +15,8 @@
 
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.Truth8.assertThat;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.isJava11;
 
 import com.google.common.cache.Cache;
 import com.google.gerrit.acceptance.AbstractDaemonTest;
@@ -23,6 +25,7 @@
 import com.google.gerrit.extensions.api.accounts.AccountInput;
 import com.google.gerrit.server.cache.PersistentCacheFactory;
 import com.google.inject.Inject;
+import org.junit.Before;
 import org.junit.Test;
 
 @UseLocalDisk
@@ -31,9 +34,14 @@
   private static final int ZERO_INMEMORY_CACHE = 0;
   @Inject PersistentCacheFactory persistentCacheFactory;
 
+  @Before
+  public void setup() {
+    assumeJava11();
+  }
+
   @Override
   public com.google.inject.Module createModule() {
-    return new ChronicleMapCacheModule();
+    return isJava11() ? new ChronicleMapCacheModule() : null;
   }
 
   @Test
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java
index 58cc4ec..d89d33a 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java
@@ -16,6 +16,7 @@
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.Truth.assertWithMessage;
 import static com.google.gerrit.testing.GerritJUnit.assertThrows;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
 import static org.mockito.Mockito.mock;
 
 import com.codahale.metrics.Counter;
@@ -63,6 +64,7 @@
 
   @Before
   public void setUp() throws Exception {
+    assumeJava11();
     CacheSerializers.registerCacheKeySerializer(testCacheName, StringCacheSerializer.INSTANCE);
     CacheSerializers.registerCacheValueSerializer(testCacheName, StringCacheSerializer.INSTANCE);
 
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/KeyWrapperMarshallerTest.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/KeyWrapperMarshallerTest.java
index 44a5dd6..8965629 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/KeyWrapperMarshallerTest.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/KeyWrapperMarshallerTest.java
@@ -14,6 +14,7 @@
 package com.googlesource.gerrit.modules.cache.chroniclemap;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
 
 import com.google.gerrit.server.cache.serialize.ObjectIdCacheSerializer;
 import java.nio.ByteBuffer;
@@ -27,6 +28,7 @@
 
   @Before
   public void setup() {
+    assumeJava11();
     CacheSerializers.registerCacheKeySerializer(TEST_CACHE_NAME, ObjectIdCacheSerializer.INSTANCE);
   }
 
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/MigrateH2CachesInMemoryIT.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/MigrateH2CachesInMemoryIT.java
index 3561051..b21a0e7 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/MigrateH2CachesInMemoryIT.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/MigrateH2CachesInMemoryIT.java
@@ -16,6 +16,7 @@
 
 import static com.google.common.net.HttpHeaders.CONTENT_TYPE;
 import static com.google.common.truth.Truth.assertThat;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
 import static org.apache.http.HttpHeaders.ACCEPT;
 import static org.eclipse.jgit.util.HttpSupport.TEXT_PLAIN;
 
@@ -25,6 +26,7 @@
 import com.google.gerrit.acceptance.TestPlugin;
 import java.io.IOException;
 import org.apache.http.message.BasicHeader;
+import org.junit.Before;
 import org.junit.Test;
 
 @TestPlugin(
@@ -33,6 +35,11 @@
 public class MigrateH2CachesInMemoryIT extends LightweightPluginDaemonTest {
   private static final String MIGRATION_ENDPOINT = "/plugins/cache-chroniclemap/migrate";
 
+  @Before
+  public void setup() {
+    assumeJava11();
+  }
+
   @Test
   public void shouldReturnTexPlain() throws Exception {
     RestResponse result = runMigration(adminRestSession);
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/MigrateH2CachesLocalDiskIT.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/MigrateH2CachesLocalDiskIT.java
index 57de6cd..71d87ef 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/MigrateH2CachesLocalDiskIT.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/MigrateH2CachesLocalDiskIT.java
@@ -16,6 +16,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.allowCapability;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
 import static com.googlesource.gerrit.modules.cache.chroniclemap.H2CacheCommand.H2_SUFFIX;
 import static com.googlesource.gerrit.modules.cache.chroniclemap.H2MigrationServlet.DEFAULT_MAX_BLOAT_FACTOR;
 import static com.googlesource.gerrit.modules.cache.chroniclemap.H2MigrationServlet.DEFAULT_SIZE_MULTIPLIER;
@@ -76,6 +77,7 @@
 
   @Before
   public void setUp() {
+    assumeJava11();
     chronicleMapCacheConfigFactory =
         plugin.getHttpInjector().getInstance(ChronicleMapCacheConfig.Factory.class);
   }
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/TimedValueMarshallerTest.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/TimedValueMarshallerTest.java
index b4eb4ca..4c3208f 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/TimedValueMarshallerTest.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/TimedValueMarshallerTest.java
@@ -14,6 +14,7 @@
 package com.googlesource.gerrit.modules.cache.chroniclemap;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.googlesource.gerrit.modules.cache.chroniclemap.AssumeJava11.assumeJava11;
 
 import com.google.gerrit.acceptance.TestMetricMaker;
 import com.google.gerrit.server.cache.serialize.ObjectIdCacheSerializer;
@@ -28,6 +29,7 @@
 
   @Before
   public void setup() {
+    assumeJava11();
     CacheSerializers.registerCacheValueSerializer(
         TEST_CACHE_NAME, ObjectIdCacheSerializer.INSTANCE);
   }