Refactor tests to make bootstrap not depend on java8 tests

Bug: b/338969668
Change-Id: Ic4a186059d902a805760dd2dd9deea803178fced
diff --git a/d8_r8/test_modules/tests_bootstrap/build.gradle.kts b/d8_r8/test_modules/tests_bootstrap/build.gradle.kts
index 5e6ba69..f6120cc 100644
--- a/d8_r8/test_modules/tests_bootstrap/build.gradle.kts
+++ b/d8_r8/test_modules/tests_bootstrap/build.gradle.kts
@@ -28,7 +28,6 @@
 val testbaseJavaCompileTask = projectTask("testbase", "compileJava")
 val testbaseDepsJarTask = projectTask("testbase", "depsJar")
 
-val testsJava8Jar = projectTask("tests_java_8", "testJar")
 val keepAnnoJarTask = projectTask("keepanno", "jar")
 val keepAnnoCompileTask = projectTask("keepanno", "compileJava")
 val mainR8RelocatedTask = projectTask("main", "r8WithRelocatedDeps")
@@ -38,7 +37,6 @@
 
 dependencies {
   implementation(keepAnnoJarTask.outputs.files)
-  implementation(files(testsJava8Jar.outputs.files.getSingleFile()))
   implementation(projectTask("main", "jar").outputs.files)
   implementation(resourceShrinkerJavaCompileTask.outputs.files)
   implementation(resourceShrinkerKotlinCompileTask.outputs.files)
@@ -61,7 +59,6 @@
 
 tasks {
   withType<JavaCompile> {
-    dependsOn(testsJava8Jar)
     dependsOn(gradle.includedBuild("main").task(":jar"))
   }
 
diff --git a/src/test/bootstrap/com/android/tools/r8/bootstrap/BootstrapCurrentEqualityTest.java b/src/test/bootstrap/com/android/tools/r8/bootstrap/BootstrapCurrentEqualityTest.java
index 74976e5..d4f3496 100644
--- a/src/test/bootstrap/com/android/tools/r8/bootstrap/BootstrapCurrentEqualityTest.java
+++ b/src/test/bootstrap/com/android/tools/r8/bootstrap/BootstrapCurrentEqualityTest.java
@@ -3,7 +3,6 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.bootstrap;
 
-import static com.android.tools.r8.graph.GenericSignatureIdentityTest.testParseSignaturesInJar;
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/src/test/java/com/android/tools/r8/graph/GenericSignatureIdentityTest.java b/src/test/java/com/android/tools/r8/graph/GenericSignatureIdentityTest.java
index a923e53..6e71e34 100644
--- a/src/test/java/com/android/tools/r8/graph/GenericSignatureIdentityTest.java
+++ b/src/test/java/com/android/tools/r8/graph/GenericSignatureIdentityTest.java
@@ -4,29 +4,14 @@
 
 package com.android.tools.r8.graph;
 
-import static com.android.tools.r8.utils.InternalOptions.ASM_VERSION;
-import static org.junit.Assert.assertEquals;
-
 import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestDiagnosticMessagesImpl;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestParametersCollection;
 import com.android.tools.r8.ToolHelper;
-import com.android.tools.r8.graph.GenericSignature.ClassSignature;
-import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.utils.Reporter;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
 
 @RunWith(Parameterized.class)
 public class GenericSignatureIdentityTest extends TestBase {
@@ -44,46 +29,4 @@
   public void testAllClassSignature() throws Exception {
     testParseSignaturesInJar(ToolHelper.CHECKED_IN_R8_17_WITH_DEPS);
   }
-
-  public static void testParseSignaturesInJar(Path jar) throws Exception {
-    GenericSignatureReader genericSignatureReader = new GenericSignatureReader();
-    ZipInputStream inputStream = new ZipInputStream(Files.newInputStream(jar));
-    ZipEntry next = inputStream.getNextEntry();
-    while (next != null) {
-      if (next.getName().endsWith(".class")) {
-        ClassReader classReader = new ClassReader(inputStream);
-        classReader.accept(genericSignatureReader, 0);
-      }
-      next = inputStream.getNextEntry();
-    }
-  }
-
-  private static class GenericSignatureReader extends ClassVisitor {
-
-    public final Set<String> signatures = new HashSet<>();
-    private final DexItemFactory factory = new DexItemFactory();
-
-    private GenericSignatureReader() {
-      super(ASM_VERSION);
-    }
-
-    @Override
-    public void visit(
-        int version,
-        int access,
-        String name,
-        String signature,
-        String superName,
-        String[] interfaces) {
-      if (signature == null) {
-        return;
-      }
-      TestDiagnosticMessagesImpl testDiagnosticMessages = new TestDiagnosticMessagesImpl();
-      ClassSignature classSignature =
-          GenericSignature.parseClassSignature(
-              name, signature, Origin.unknown(), factory, new Reporter(testDiagnosticMessages));
-      assertEquals(signature, classSignature.toString());
-      testDiagnosticMessages.assertNoMessages();
-    }
-  }
 }
diff --git a/src/test/testbase/java/com/android/tools/r8/TestBase.java b/src/test/testbase/java/com/android/tools/r8/TestBase.java
index 1351448..2a812ee 100644
--- a/src/test/testbase/java/com/android/tools/r8/TestBase.java
+++ b/src/test/testbase/java/com/android/tools/r8/TestBase.java
@@ -40,6 +40,8 @@
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.graph.DexProto;
 import com.android.tools.r8.graph.DexType;
+import com.android.tools.r8.graph.GenericSignature;
+import com.android.tools.r8.graph.GenericSignature.ClassSignature;
 import com.android.tools.r8.graph.ProgramMethod;
 import com.android.tools.r8.graph.SmaliWriter;
 import com.android.tools.r8.graph.SubtypingInfo;
@@ -112,6 +114,7 @@
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.IdentityHashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -128,6 +131,7 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
 import java.util.zip.ZipOutputStream;
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -2139,4 +2143,46 @@
     internalOptionsConsumer.accept(internalOptions);
     GlobalSyntheticsGenerator.runForTesting(command.getInputApp(), internalOptions);
   }
+
+  public static void testParseSignaturesInJar(Path jar) throws Exception {
+    GenericSignatureReader genericSignatureReader = new GenericSignatureReader();
+    ZipInputStream inputStream = new ZipInputStream(Files.newInputStream(jar));
+    ZipEntry next = inputStream.getNextEntry();
+    while (next != null) {
+      if (next.getName().endsWith(".class")) {
+        ClassReader classReader = new ClassReader(inputStream);
+        classReader.accept(genericSignatureReader, 0);
+      }
+      next = inputStream.getNextEntry();
+    }
+  }
+
+  private static class GenericSignatureReader extends ClassVisitor {
+
+    public final Set<String> signatures = new HashSet<>();
+    private final DexItemFactory factory = new DexItemFactory();
+
+    private GenericSignatureReader() {
+      super(ASM_VERSION);
+    }
+
+    @Override
+    public void visit(
+        int version,
+        int access,
+        String name,
+        String signature,
+        String superName,
+        String[] interfaces) {
+      if (signature == null) {
+        return;
+      }
+      TestDiagnosticMessagesImpl testDiagnosticMessages = new TestDiagnosticMessagesImpl();
+      ClassSignature classSignature =
+          GenericSignature.parseClassSignature(
+              name, signature, Origin.unknown(), factory, new Reporter(testDiagnosticMessages));
+      assertEquals(signature, classSignature.toString());
+      testDiagnosticMessages.assertNoMessages();
+    }
+  }
 }