Update AdaptResourceFileContentsTest to use ArchiveResourceProvider

This CL removes the implementation of getDataResourceProvider() from ArchiveProgramResourceProvider, since it is expected to return null in the AGP integration.

This method was indirectly used by AdaptResourceFileContentsTest.testProguardBehavior() to retrieve the set of resources in a jar; this CL therefore also updates the test so that it retrieves the resources of a jar via other means.

Change-Id: I97e2e397235a61d67b45f5ea91734372c6988be9
diff --git a/src/main/java/com/android/tools/r8/ArchiveProgramResourceProvider.java b/src/main/java/com/android/tools/r8/ArchiveProgramResourceProvider.java
index 8cafe4d..4eead29 100644
--- a/src/main/java/com/android/tools/r8/ArchiveProgramResourceProvider.java
+++ b/src/main/java/com/android/tools/r8/ArchiveProgramResourceProvider.java
@@ -136,23 +136,4 @@
       throw new ResourceException(origin, e);
     }
   }
-
-  @Override
-  public DataResourceProvider getDataResourceProvider() {
-    return visitor -> {
-      try {
-        readArchive(
-            (entry, stream) -> {
-              String name = entry.getEntryName();
-              if (!ZipUtils.isClassFile(name) && !ZipUtils.isDexFile(name)) {
-                visitor.visit(
-                    DataEntryResource.fromBytes(
-                        ByteStreams.toByteArray(stream), entry.getEntryName(), entry));
-              }
-            });
-      } catch (IOException e) {
-        throw new ResourceException(origin, e);
-      }
-    };
-  }
 }
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApp.java b/src/main/java/com/android/tools/r8/utils/AndroidApp.java
index ed1b960..4dff93c 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApp.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApp.java
@@ -587,9 +587,7 @@
       } else if (isClassFile(file)) {
         addProgramResources(ProgramResource.fromFile(Kind.CF, file));
       } else if (isArchive(file)) {
-        ArchiveResourceProvider archiveResourceProvider = new ArchiveResourceProvider(
-            FilteredClassPath.unfiltered(file), ignoreDexInArchive);
-        addProgramResourceProvider(archiveResourceProvider);
+        addProgramResourceProvider(ArchiveResourceProvider.fromArchive(file, ignoreDexInArchive));
       } else {
         throw new CompilationError("Unsupported source file type", new PathOrigin(file));
       }
diff --git a/src/main/java/com/android/tools/r8/utils/ArchiveResourceProvider.java b/src/main/java/com/android/tools/r8/utils/ArchiveResourceProvider.java
index a611105..e92d0a2 100644
--- a/src/main/java/com/android/tools/r8/utils/ArchiveResourceProvider.java
+++ b/src/main/java/com/android/tools/r8/utils/ArchiveResourceProvider.java
@@ -21,6 +21,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -36,6 +37,10 @@
   private final FilteredClassPath archive;
   private final boolean ignoreDexInArchive;
 
+  public static ArchiveResourceProvider fromArchive(Path archive, boolean ignoreDexInArchive) {
+    return new ArchiveResourceProvider(FilteredClassPath.unfiltered(archive), ignoreDexInArchive);
+  }
+
   ArchiveResourceProvider(FilteredClassPath archive, boolean ignoreDexInArchive) {
     assert isArchive(archive.getPath());
     origin = new PathOrigin(archive.getPath());
diff --git a/src/test/java/com/android/tools/r8/TestBase.java b/src/test/java/com/android/tools/r8/TestBase.java
index 95e0fd1..738f29c 100644
--- a/src/test/java/com/android/tools/r8/TestBase.java
+++ b/src/test/java/com/android/tools/r8/TestBase.java
@@ -234,19 +234,25 @@
   public static List<DataEntryResource> getDataResources(AndroidApp app) throws ResourceException {
     List<DataEntryResource> dataResources = new ArrayList<>();
     for (ProgramResourceProvider programResourceProvider : app.getProgramResourceProviders()) {
-      DataResourceProvider dataResourceProvider = programResourceProvider.getDataResourceProvider();
-      if (dataResourceProvider != null) {
-        dataResourceProvider.accept(
-            new Visitor() {
-              @Override
-              public void visit(DataDirectoryResource directory) {}
+      dataResources.addAll(getDataResources(programResourceProvider.getDataResourceProvider()));
+    }
+    return dataResources;
+  }
 
-              @Override
-              public void visit(DataEntryResource file) {
-                dataResources.add(file);
-              }
-            });
-      }
+  public static List<DataEntryResource> getDataResources(DataResourceProvider dataResourceProvider)
+      throws ResourceException {
+    List<DataEntryResource> dataResources = new ArrayList<>();
+    if (dataResourceProvider != null) {
+      dataResourceProvider.accept(
+          new Visitor() {
+            @Override
+            public void visit(DataDirectoryResource directory) {}
+
+            @Override
+            public void visit(DataEntryResource file) {
+              dataResources.add(file);
+            }
+          });
     }
     return dataResources;
   }
diff --git a/src/test/java/com/android/tools/r8/naming/AdaptResourceFileContentsTest.java b/src/test/java/com/android/tools/r8/naming/AdaptResourceFileContentsTest.java
index 92e9067..74148c7 100644
--- a/src/test/java/com/android/tools/r8/naming/AdaptResourceFileContentsTest.java
+++ b/src/test/java/com/android/tools/r8/naming/AdaptResourceFileContentsTest.java
@@ -14,6 +14,7 @@
 import com.android.tools.r8.DataDirectoryResource;
 import com.android.tools.r8.DataEntryResource;
 import com.android.tools.r8.DataResourceConsumer;
+import com.android.tools.r8.DataResourceProvider.Visitor;
 import com.android.tools.r8.DiagnosticsHandler;
 import com.android.tools.r8.R8Command;
 import com.android.tools.r8.ToolHelper;
@@ -21,16 +22,21 @@
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.shaking.forceproguardcompatibility.ProguardCompatabilityTestBase;
 import com.android.tools.r8.utils.AndroidApp;
+import com.android.tools.r8.utils.ArchiveResourceProvider;
 import com.android.tools.r8.utils.FileUtils;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
 import com.google.common.collect.ImmutableList;
 import com.google.common.io.ByteStreams;
+import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
+import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 import org.junit.Test;
 
@@ -169,46 +175,61 @@
 
   @Test
   public void testProguardBehavior() throws Exception {
-    AndroidApp result =
-        runProguard6Raw(
-            ImmutableList.of(
-                AdaptResourceFileContentsTestClass.class,
-                AdaptResourceFileContentsTestClass.A.class,
-                AdaptResourceFileContentsTestClass.B.class),
-            getProguardConfig(true, null),
-            null,
-            getDataResources()
-                .stream()
-                .filter(x -> !x.getName().toLowerCase().endsWith(FileUtils.CLASS_EXTENSION))
-                .collect(Collectors.toList()));
+    Path proguardedJar =
+        File.createTempFile("proguarded", FileUtils.JAR_EXTENSION, temp.getRoot()).toPath();
+    runProguard6Raw(
+        proguardedJar,
+        ImmutableList.of(
+            AdaptResourceFileContentsTestClass.class,
+            AdaptResourceFileContentsTestClass.A.class,
+            AdaptResourceFileContentsTestClass.B.class),
+        getProguardConfig(true, null),
+        null,
+        getDataResources()
+            .stream()
+            .filter(x -> !x.getName().toLowerCase().endsWith(FileUtils.CLASS_EXTENSION))
+            .collect(Collectors.toList()));
 
-    List<DataEntryResource> dataResources = getDataResources(result);
-    assertEquals(4, dataResources.size());
+    // Visit each of the resources in the jar and check that their contents are as expected.
+    Set<String> filenames = new HashSet<>();
+    ArchiveResourceProvider.fromArchive(proguardedJar, true)
+        .accept(
+            new Visitor() {
+              @Override
+              public void visit(DataDirectoryResource directory) {}
 
-    assertTrue(
-        dataResources.stream().anyMatch(x -> x.getName().endsWith("resource-all-changed.md")));
-    assertTrue(
-        dataResources.stream().anyMatch(x -> x.getName().endsWith("resource-all-changed.txt")));
-    assertTrue(
-        dataResources.stream().anyMatch(x -> x.getName().endsWith("resource-all-present.txt")));
-    assertTrue(
-        dataResources.stream().anyMatch(x -> x.getName().endsWith("resource-all-unchanged.txt")));
+              @Override
+              public void visit(DataEntryResource file) {
+                try {
+                  byte[] bytes = ByteStreams.toByteArray(file.getByteStream());
+                  List<String> lines =
+                      Arrays.asList(
+                          new String(bytes, Charset.defaultCharset())
+                              .split(System.lineSeparator()));
+                  if (file.getName().endsWith("resource-all-changed.md")) {
+                    checkAllAreChanged(lines, originalAllChangedResource);
+                  } else if (file.getName().endsWith("resource-all-changed.txt")) {
+                    checkAllAreChanged(lines, originalAllChangedResource);
+                  } else if (file.getName().endsWith("resource-all-present.txt")) {
+                    checkAllArePresent(lines, new CodeInspector(readJar(proguardedJar)));
+                  } else if (file.getName().endsWith("resource-all-unchanged.txt")) {
+                    checkAllAreUnchanged(lines, originalAllUnchangedResource);
+                  }
+                } catch (Exception e) {
+                  throw new RuntimeException(e);
+                }
 
-    for (DataEntryResource dataResource : dataResources) {
-      byte[] bytes = ByteStreams.toByteArray(dataResource.getByteStream());
-      List<String> lines =
-          Arrays.asList(new String(bytes, Charset.defaultCharset()).split(System.lineSeparator()));
+                // Record that the jar contains a resource with this name.
+                filenames.add(file.getName());
+              }
+            });
 
-      if (dataResource.getName().endsWith("resource-all-changed.md")) {
-        checkAllAreChanged(lines, originalAllChangedResource);
-      } else if (dataResource.getName().endsWith("resource-all-changed.txt")) {
-        checkAllAreChanged(lines, originalAllChangedResource);
-      } else if (dataResource.getName().endsWith("resource-all-present.txt")) {
-        checkAllArePresent(lines, new CodeInspector(result));
-      } else if (dataResource.getName().endsWith("resource-all-unchanged.txt")) {
-        checkAllAreUnchanged(lines, originalAllUnchangedResource);
-      }
-    }
+    // Check that the jar contains the four expected resources, and nothing else.
+    assertEquals(4, filenames.size());
+    assertTrue(filenames.stream().anyMatch(x -> x.endsWith("resource-all-changed.md")));
+    assertTrue(filenames.stream().anyMatch(x -> x.endsWith("resource-all-changed.txt")));
+    assertTrue(filenames.stream().anyMatch(x -> x.endsWith("resource-all-present.txt")));
+    assertTrue(filenames.stream().anyMatch(x -> x.endsWith("resource-all-unchanged.txt")));
   }
 
   @Test
diff --git a/src/test/java/com/android/tools/r8/naming/b72391662/B72391662.java b/src/test/java/com/android/tools/r8/naming/b72391662/B72391662.java
index fd38d36..3f586e6 100644
--- a/src/test/java/com/android/tools/r8/naming/b72391662/B72391662.java
+++ b/src/test/java/com/android/tools/r8/naming/b72391662/B72391662.java
@@ -57,7 +57,7 @@
         "-dontwarn java.lang.invoke.*"
     );
 
-    AndroidApp app = runShrinkerRaw(shrinker, CLASSES, config);
+    AndroidApp app = runShrinker(shrinker, CLASSES, config);
     assertEquals("123451234567\nABC\n", runOnArt(app, mainClass.getCanonicalName()));
 
     CodeInspector codeInspector =
@@ -147,7 +147,7 @@
         "-dontwarn java.lang.invoke.*"
     );
 
-    AndroidApp app = runShrinkerRaw(shrinker, CLASSES, config);
+    AndroidApp app = runShrinker(shrinker, CLASSES, config);
     assertEquals("123451234567\nABC\n", runOnArt(app, mainClass.getCanonicalName()));
 
     CodeInspector codeInspector =
@@ -244,7 +244,7 @@
       ));
     }
 
-    AndroidApp app = runShrinkerRaw(shrinker, CLASSES, config);
+    AndroidApp app = runShrinker(shrinker, CLASSES, config);
     assertEquals("123451234567\nABC\n", runOnArt(app, mainClass.getCanonicalName()));
 
     CodeInspector codeInspector =
diff --git a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ProguardCompatabilityTestBase.java b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ProguardCompatabilityTestBase.java
index ac81d89..770bdbd 100644
--- a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ProguardCompatabilityTestBase.java
+++ b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ProguardCompatabilityTestBase.java
@@ -44,44 +44,21 @@
     return shrinker == Shrinker.R8_COMPAT || shrinker == Shrinker.R8;
   }
 
-  protected AndroidApp runShrinkerRaw(
+  protected AndroidApp runShrinker(
       Shrinker mode, List<Class> programClasses, Iterable<String> proguadConfigs) throws Exception {
-    return runShrinkerRaw(
-        mode, programClasses, String.join(System.lineSeparator(), proguadConfigs));
-  }
-
-  protected AndroidApp runShrinkerRaw(
-      Shrinker mode, List<Class> programClasses, String proguardConfig) throws Exception {
-    proguardMap = File.createTempFile("proguard", ".map", temp.getRoot()).toPath();
-    switch (mode) {
-      case PROGUARD5:
-        return runProguard5Raw(programClasses, proguardConfig, proguardMap);
-      case PROGUARD6:
-        return runProguard6Raw(programClasses, proguardConfig, proguardMap);
-      case PROGUARD6_THEN_D8:
-        return runProguard6AndD8Raw(programClasses, proguardConfig, proguardMap);
-      case R8_COMPAT:
-        return runR8CompatRaw(programClasses, proguardConfig);
-      case R8:
-        return runR8Raw(programClasses, proguardConfig);
-    }
-    throw new IllegalArgumentException("Unknown shrinker: " + mode);
-  }
-
-  protected CodeInspector runShrinker(
-      Shrinker mode, List<Class> programClasses, List<String> proguadConfigs) throws Exception {
     return runShrinker(mode, programClasses, String.join(System.lineSeparator(), proguadConfigs));
   }
 
-  protected CodeInspector runShrinker(
-      Shrinker mode, List<Class> programClasses, String proguardConfig) throws Exception {
+  protected AndroidApp runShrinker(Shrinker mode, List<Class> programClasses, String proguardConfig)
+      throws Exception {
+    proguardMap = File.createTempFile("proguard", ".map", temp.getRoot()).toPath();
     switch (mode) {
       case PROGUARD5:
-        return runProguard5(programClasses, proguardConfig);
+        return runProguard5(programClasses, proguardConfig, proguardMap);
       case PROGUARD6:
-        return runProguard6(programClasses, proguardConfig);
+        return runProguard6(programClasses, proguardConfig, proguardMap);
       case PROGUARD6_THEN_D8:
-        return runProguard6AndD8(programClasses, proguardConfig);
+        return runProguard6AndD8(programClasses, proguardConfig, proguardMap);
       case R8_COMPAT:
         return runR8Compat(programClasses, proguardConfig);
       case R8:
@@ -90,12 +67,34 @@
     throw new IllegalArgumentException("Unknown shrinker: " + mode);
   }
 
-  protected AndroidApp runR8Raw(List<Class> programClasses, String proguardConfig)
-      throws Exception {
-    return runR8Raw(programClasses, proguardConfig, null);
+  protected CodeInspector inspectAfterShrinking(
+      Shrinker mode, List<Class> programClasses, List<String> proguadConfigs) throws Exception {
+    return inspectAfterShrinking(
+        mode, programClasses, String.join(System.lineSeparator(), proguadConfigs));
   }
 
-  protected AndroidApp runR8Raw(
+  protected CodeInspector inspectAfterShrinking(
+      Shrinker mode, List<Class> programClasses, String proguardConfig) throws Exception {
+    switch (mode) {
+      case PROGUARD5:
+        return inspectProguard5Result(programClasses, proguardConfig);
+      case PROGUARD6:
+        return inspectProguard6Result(programClasses, proguardConfig);
+      case PROGUARD6_THEN_D8:
+        return inspectProguard6AndD8Result(programClasses, proguardConfig);
+      case R8_COMPAT:
+        return inspectR8CompatResult(programClasses, proguardConfig);
+      case R8:
+        return inspectR8Result(programClasses, proguardConfig);
+    }
+    throw new IllegalArgumentException("Unknown shrinker: " + mode);
+  }
+
+  protected AndroidApp runR8(List<Class> programClasses, String proguardConfig) throws Exception {
+    return runR8(programClasses, proguardConfig, null);
+  }
+
+  protected AndroidApp runR8(
       List<Class> programClasses, String proguardConfig, Consumer<InternalOptions> configure)
       throws Exception {
     AndroidApp app = readClassesAndAndriodJar(programClasses);
@@ -105,12 +104,13 @@
     return ToolHelper.runR8(builder.build(), configure);
   }
 
-  protected CodeInspector runR8(List<Class> programClasses, String proguardConfig) throws Exception {
-    return new CodeInspector(runR8Raw(programClasses, proguardConfig));
+  protected CodeInspector inspectR8Result(List<Class> programClasses, String proguardConfig)
+      throws Exception {
+    return new CodeInspector(runR8(programClasses, proguardConfig));
   }
 
-  protected AndroidApp runR8CompatRaw(
-      List<Class> programClasses, String proguardConfig) throws Exception {
+  protected AndroidApp runR8Compat(List<Class> programClasses, String proguardConfig)
+      throws Exception {
     CompatProguardCommandBuilder builder = new CompatProguardCommandBuilder(true);
     ToolHelper.allowTestProguardOptions(builder);
     builder.addProguardConfiguration(ImmutableList.of(proguardConfig), Origin.unknown());
@@ -121,17 +121,12 @@
     return ToolHelper.runR8(builder.build());
   }
 
-  protected CodeInspector runR8Compat(
-      List<Class> programClasses, String proguardConfig) throws Exception {
-    return new CodeInspector(runR8CompatRaw(programClasses, proguardConfig));
-  }
-
-  protected CodeInspector runR8CompatKeepingMain(Class mainClass, List<Class> programClasses)
+  protected CodeInspector inspectR8CompatResult(List<Class> programClasses, String proguardConfig)
       throws Exception {
-    return runR8Compat(programClasses, keepMainProguardConfiguration(mainClass));
+    return new CodeInspector(runR8Compat(programClasses, proguardConfig));
   }
 
-  protected AndroidApp runProguard5Raw(
+  protected AndroidApp runProguard5(
       List<Class> programClasses, String proguardConfig, Path proguardMap) throws Exception {
     Path proguardedJar =
         File.createTempFile("proguarded", FileUtils.JAR_EXTENSION, temp.getRoot()).toPath();
@@ -149,19 +144,41 @@
     return readJar(proguardedJar);
   }
 
-  protected CodeInspector runProguard5(
-      List<Class> programClasses, String proguardConfig) throws Exception {
+  protected CodeInspector inspectProguard5Result(List<Class> programClasses, String proguardConfig)
+      throws Exception {
     proguardMap = File.createTempFile("proguard", ".map", temp.getRoot()).toPath();
     return new CodeInspector(
-        runProguard5Raw(programClasses, proguardConfig, proguardMap), proguardMap);
+        runProguard5(programClasses, proguardConfig, proguardMap), proguardMap);
   }
 
-  protected AndroidApp runProguard6Raw(
+  protected ProcessResult runProguard6Raw(
+      Path destination,
+      List<Class> programClasses,
+      String proguardConfig,
+      Path proguardMap,
+      List<DataEntryResource> dataResources)
+      throws Exception {
+    Path proguardConfigFile = File.createTempFile("proguard", ".config", temp.getRoot()).toPath();
+    FileUtils.writeTextFile(proguardConfigFile, proguardConfig);
+    ProcessResult result =
+        ToolHelper.runProguard6Raw(
+            jarTestClasses(programClasses, dataResources),
+            destination,
+            ToolHelper.getAndroidJar(AndroidApiLevel.N),
+            proguardConfigFile,
+            proguardMap);
+    if (result.exitCode != 0) {
+      fail("Proguard failed, exit code " + result.exitCode + ", stderr:\n" + result.stderr);
+    }
+    return result;
+  }
+
+  protected AndroidApp runProguard6(
       List<Class> programClasses, String proguardConfig, Path proguardMap) throws Exception {
-    return runProguard6Raw(programClasses, proguardConfig, proguardMap, null);
+    return runProguard6(programClasses, proguardConfig, proguardMap, null);
   }
 
-  protected AndroidApp runProguard6Raw(
+  protected AndroidApp runProguard6(
       List<Class> programClasses,
       String proguardConfig,
       Path proguardMap,
@@ -169,29 +186,18 @@
       throws Exception {
     Path proguardedJar =
         File.createTempFile("proguarded", FileUtils.JAR_EXTENSION, temp.getRoot()).toPath();
-    Path proguardConfigFile = File.createTempFile("proguard", ".config", temp.getRoot()).toPath();
-    FileUtils.writeTextFile(proguardConfigFile, proguardConfig);
-    ProcessResult result =
-        ToolHelper.runProguard6Raw(
-            jarTestClasses(programClasses, dataResources),
-            proguardedJar,
-            ToolHelper.getAndroidJar(AndroidApiLevel.N),
-            proguardConfigFile,
-            proguardMap);
-    if (result.exitCode != 0) {
-      fail("Proguard failed, exit code " + result.exitCode + ", stderr:\n" + result.stderr);
-    }
+    runProguard6Raw(proguardedJar, programClasses, proguardConfig, proguardMap, dataResources);
     return readJar(proguardedJar);
   }
 
-  protected CodeInspector runProguard6(
-      List<Class> programClasses, String proguardConfig) throws Exception {
+  protected CodeInspector inspectProguard6Result(List<Class> programClasses, String proguardConfig)
+      throws Exception {
     proguardMap = File.createTempFile("proguard", ".map", temp.getRoot()).toPath();
     return new CodeInspector(
-        runProguard6Raw(programClasses, proguardConfig, proguardMap), proguardMap);
+        runProguard6(programClasses, proguardConfig, proguardMap), proguardMap);
   }
 
-  protected AndroidApp runProguard6AndD8Raw(
+  protected AndroidApp runProguard6AndD8(
       List<Class> programClasses, String proguardConfig, Path proguardMap) throws Exception {
     Path proguardedJar =
         File.createTempFile("proguarded", FileUtils.JAR_EXTENSION, temp.getRoot()).toPath();
@@ -209,16 +215,11 @@
     return ToolHelper.runD8(readJar(proguardedJar));
   }
 
-  protected CodeInspector runProguard6AndD8(
+  protected CodeInspector inspectProguard6AndD8Result(
       List<Class> programClasses, String proguardConfig) throws Exception {
     proguardMap = File.createTempFile("proguard", ".map", temp.getRoot()).toPath();
     return new CodeInspector(
-        runProguard6AndD8Raw(programClasses, proguardConfig, proguardMap), proguardMap);
-  }
-
-  protected CodeInspector runProguardKeepingMain(Class mainClass, List<Class> programClasses)
-      throws Exception {
-    return runProguard6AndD8(programClasses, keepMainProguardConfiguration(mainClass));
+        runProguard6AndD8(programClasses, proguardConfig, proguardMap), proguardMap);
   }
 
   protected void verifyClassesPresent(
diff --git a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/defaultctor/ImplicitlyKeptDefaultConstructorTest.java b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/defaultctor/ImplicitlyKeptDefaultConstructorTest.java
index aed1423..1464cb1 100644
--- a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/defaultctor/ImplicitlyKeptDefaultConstructorTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/defaultctor/ImplicitlyKeptDefaultConstructorTest.java
@@ -131,13 +131,13 @@
       Class mainClass, List<Class> programClasses, String proguardConfiguration,
       TriConsumer<Class, List<Class>, CodeInspector> r8Checker,
       TriConsumer<Class, List<Class>, CodeInspector> proguardChecker) throws Exception {
-    CodeInspector inspector = runR8Compat(programClasses, proguardConfiguration);
+    CodeInspector inspector = inspectR8CompatResult(programClasses, proguardConfiguration);
     r8Checker.accept(mainClass, programClasses, inspector);
 
     if (isRunProguard()) {
-      inspector = runProguard6(programClasses, proguardConfiguration);
+      inspector = inspectProguard6Result(programClasses, proguardConfiguration);
       proguardChecker.accept(mainClass, programClasses, inspector);
-      inspector = runProguard6AndD8(programClasses, proguardConfiguration);
+      inspector = inspectProguard6AndD8Result(programClasses, proguardConfiguration);
       proguardChecker.accept(mainClass, programClasses, inspector);
     }
   }
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAccessModifierTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAccessModifierTest.java
index 513a01a..0f1c519 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAccessModifierTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAccessModifierTest.java
@@ -59,7 +59,7 @@
         "  public <methods>;",
         "}"
     );
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     ClassSubject classSubject = codeInspector.clazz(ClassForIf.class);
     assertThat(classSubject, isPresent());
     MethodSubject methodSubject = classSubject.method(publicMethod);
@@ -98,7 +98,7 @@
         "  !public <methods>;",
         "}"
     );
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     ClassSubject classSubject = codeInspector.clazz(ClassForIf.class);
     assertThat(classSubject, isPresent());
     MethodSubject methodSubject = classSubject.method(publicMethod);
@@ -138,7 +138,7 @@
         "  public <methods>;",
         "}"
     );
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     ClassSubject classSubject = codeInspector.clazz(ClassForIf.class);
     assertThat(classSubject, isPresent());
     MethodSubject methodSubject = classSubject.method(publicMethod);
@@ -170,7 +170,7 @@
         "  !public <methods>;",
         "}"
     );
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     ClassSubject classSubject = codeInspector.clazz(ClassForIf.class);
     assertThat(classSubject, isPresent());
     MethodSubject methodSubject = classSubject.method(publicMethod);
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAnnotationTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAnnotationTest.java
index 146c3cd..972b178 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAnnotationTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAnnotationTest.java
@@ -50,7 +50,7 @@
         "-keep class **.UnusedAnnotation*"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector,
         UnusedAnnotation.class, UnusedAnnotationDependent.class);
     verifyClassesPresent(codeInspector,
@@ -76,7 +76,7 @@
         "-keep class <1>.Unused<2>*"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector,
         UnusedAnnotation.class, UnusedAnnotationDependent.class);
     verifyClassesPresent(codeInspector,
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnClassTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnClassTest.java
index 167c2f4..cbafcf0 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnClassTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnClassTest.java
@@ -60,21 +60,21 @@
   }
 
   @Override
-  protected CodeInspector runR8(
-      List<Class> programClasses, String proguardConfig) throws Exception {
-    return super.runR8(programClasses, adaptConfiguration(proguardConfig));
+  protected CodeInspector inspectR8Result(List<Class> programClasses, String proguardConfig)
+      throws Exception {
+    return super.inspectR8Result(programClasses, adaptConfiguration(proguardConfig));
   }
 
   @Override
-  protected CodeInspector runProguard5(
-      List<Class> programClasses, String proguardConfig) throws Exception {
-    return super.runProguard5(programClasses, adaptConfiguration(proguardConfig));
+  protected CodeInspector inspectProguard5Result(List<Class> programClasses, String proguardConfig)
+      throws Exception {
+    return super.inspectProguard5Result(programClasses, adaptConfiguration(proguardConfig));
   }
 
   @Override
-  protected CodeInspector runProguard6(
-      List<Class> programClasses, String proguardConfig) throws Exception {
-    return super.runProguard6(programClasses, adaptConfiguration(proguardConfig));
+  protected CodeInspector inspectProguard6Result(List<Class> programClasses, String proguardConfig)
+      throws Exception {
+    return super.inspectProguard6Result(programClasses, adaptConfiguration(proguardConfig));
   }
 
   @Test
@@ -86,7 +86,7 @@
         "-keep,allowobfuscation class **.Dependent"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     if (!keepPrecondition) {
       // TODO(b/73708139): Proguard6 kept Dependent (w/o any members), which is not necessary.
       if (shrinker == Shrinker.PROGUARD6) {
@@ -123,7 +123,7 @@
         "-keep,allowobfuscation class <1>.<2>"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     if (!keepPrecondition) {
       // TODO(b/73708139): Proguard6 kept Dependent (w/o any members), which is not necessary.
       if (shrinker == Shrinker.PROGUARD6) {
@@ -160,7 +160,7 @@
         "}"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     if (!keepPrecondition) {
       assertEquals(1, codeInspector.allClasses().size());
       return;
@@ -196,7 +196,7 @@
         "-keep,allowobfuscation class **.*User"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     if (!keepPrecondition) {
       // TODO(b/73708139): Proguard6 kept DependentUser (w/o any members), which is not necessary.
       if (shrinker == Shrinker.PROGUARD6) {
@@ -236,7 +236,7 @@
         "-keep,allowobfuscation class <1>.<2>User"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     if (!keepPrecondition) {
       // TODO(b/73708139): Proguard6 kept DependentUser (w/o any members), which is not necessary.
       if (shrinker == Shrinker.PROGUARD6) {
@@ -274,7 +274,7 @@
         "-keepnames class **.Dependent"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
 
     ClassSubject clazz = codeInspector.clazz(Dependent.class);
     // Only class name is not renamed, if triggered.
@@ -299,7 +299,7 @@
         "}"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
 
     ClassSubject clazz = codeInspector.clazz(Dependent.class);
     // Class name is not renamed, if triggered.
@@ -325,7 +325,7 @@
         "}"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
 
     ClassSubject clazz = codeInspector.clazz(Dependent.class);
     assertThat(clazz, isRenamed());
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnFieldTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnFieldTest.java
index d199cd4..688c532 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnFieldTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnFieldTest.java
@@ -42,15 +42,15 @@
   }
 
   @Override
-  protected CodeInspector runR8(
-      List<Class> programClasses, String proguardConfig) throws Exception {
-    return super.runR8(programClasses, adaptConfiguration(proguardConfig));
+  protected CodeInspector inspectR8Result(List<Class> programClasses, String proguardConfig)
+      throws Exception {
+    return super.inspectR8Result(programClasses, adaptConfiguration(proguardConfig));
   }
 
   @Override
-  protected CodeInspector runProguard6(
-      List<Class> programClasses, String proguardConfig) throws Exception {
-    return super.runProguard6(programClasses, adaptConfiguration(proguardConfig));
+  protected CodeInspector inspectProguard6Result(List<Class> programClasses, String proguardConfig)
+      throws Exception {
+    return super.inspectProguard6Result(programClasses, adaptConfiguration(proguardConfig));
   }
 
   @Test
@@ -77,7 +77,7 @@
         "-keep class **.D"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector,
         R1.class, R2.class, D.class, D2.class);
     verifyClassesPresent(codeInspector,
@@ -96,7 +96,7 @@
         "-keep class **.D<2>"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector,
         R1.class, R2.class, D.class, D2.class);
     verifyClassesPresent(codeInspector,
@@ -119,7 +119,7 @@
         "-keep class **.D2"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector,
         R.class, D.class, R1.class, D1.class);
     verifyClassesPresent(codeInspector,
@@ -138,7 +138,7 @@
         "-keep class **.D<2>"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector,
         R.class, D.class, R1.class, D1.class);
     verifyClassesPresent(codeInspector,
@@ -158,7 +158,7 @@
         "-keep class **$*D"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector,
         R.class, D.class, R1.class, D1.class, R2.class, D2.class);
     verifyClassesPresent(codeInspector,
@@ -178,7 +178,7 @@
         "-keep class <1>$<2>D"
     );
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector,
         R.class, D.class, R1.class, D1.class, R2.class, D2.class);
     verifyClassesPresent(codeInspector,
@@ -202,7 +202,7 @@
             "}",
             "-keep class **.D2");
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector, D2.class);
     verifyClassesPresent(codeInspector,
         I.class, Impl.class, D1.class);
@@ -225,7 +225,7 @@
             "}",
             "-keep class <2>.D2");
 
-    CodeInspector codeInspector = runShrinker(shrinker, CLASSES, config);
+    CodeInspector codeInspector = inspectAfterShrinking(shrinker, CLASSES, config);
     verifyClassesAbsent(codeInspector, D2.class);
     verifyClassesPresent(codeInspector,
         I.class, Impl.class, D1.class);
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/inlining/IfRuleWithInlining.java b/src/test/java/com/android/tools/r8/shaking/ifrule/inlining/IfRuleWithInlining.java
index 7391986..7c7571f 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/inlining/IfRuleWithInlining.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/inlining/IfRuleWithInlining.java
@@ -90,6 +90,6 @@
         "-dontobfuscate"
     );
 
-    check(runShrinkerRaw(shrinker, CLASSES, config));
+    check(runShrinker(shrinker, CLASSES, config));
   }
 }
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
index cc574f3..617cb83 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
@@ -84,9 +84,8 @@
   }
 
   @Override
-  protected AndroidApp runR8Raw(
-      List<Class> programClasses, String proguardConfig) throws Exception {
-    return super.runR8Raw(programClasses, proguardConfig, this::configure);
+  protected AndroidApp runR8(List<Class> programClasses, String proguardConfig) throws Exception {
+    return super.runR8(programClasses, proguardConfig, this::configure);
   }
 
   private void check(AndroidApp app) throws Exception {
@@ -119,7 +118,7 @@
         "-dontobfuscate"
     );
 
-    check(runShrinkerRaw(shrinker, CLASSES, config));
+    check(runShrinker(shrinker, CLASSES, config));
   }
 
   @Test
@@ -135,7 +134,7 @@
         "-dontobfuscate"
     );
 
-    check(runShrinkerRaw(shrinker, CLASSES, config));
+    check(runShrinker(shrinker, CLASSES, config));
   }
 
   @Test
@@ -151,6 +150,6 @@
         "-dontobfuscate"
     );
 
-    check(runShrinkerRaw(shrinker, CLASSES, config));
+    check(runShrinker(shrinker, CLASSES, config));
   }
 }
diff --git a/src/test/java/com/android/tools/r8/shaking/keepclassmembers/KeepClassMembersTest.java b/src/test/java/com/android/tools/r8/shaking/keepclassmembers/KeepClassMembersTest.java
index 97cad3c..61f4ce5 100644
--- a/src/test/java/com/android/tools/r8/shaking/keepclassmembers/KeepClassMembersTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/keepclassmembers/KeepClassMembersTest.java
@@ -77,7 +77,7 @@
     check(inspector, mainClass, staticClass, forceProguardCompatibility, false);
 
     if (isRunProguard()) {
-      inspector = runProguard6(ImmutableList.of(mainClass, staticClass), proguardConfig);
+      inspector = inspectProguard6Result(ImmutableList.of(mainClass, staticClass), proguardConfig);
       check(inspector, mainClass, staticClass, true, true);
     }
   }