Merge "Delete incorrect TestBase.runOnArt overloads"
diff --git a/src/test/java/com/android/tools/r8/TestBase.java b/src/test/java/com/android/tools/r8/TestBase.java
index a29d673..2bb8d75 100644
--- a/src/test/java/com/android/tools/r8/TestBase.java
+++ b/src/test/java/com/android/tools/r8/TestBase.java
@@ -430,20 +430,6 @@
   }
 
   /**
-   * Run application on Art with the specified main class.
-   */
-  protected String runOnArt(AndroidApp app, String mainClass) throws IOException {
-    return runOnArtRaw(app, mainClass).stdout;
-  }
-
-  /**
-   * Run application on Art with the specified main class.
-   */
-  protected String runOnArt(AndroidApp app, Class mainClass) throws IOException {
-    return runOnArtRaw(app, mainClass).stdout;
-  }
-
-  /**
    * Run application on Art with the specified main class and provided arguments.
    */
   protected String runOnArt(AndroidApp app, Class mainClass, String... args) throws IOException {
diff --git a/src/test/java/com/android/tools/r8/ir/regalloc/B79405526.java b/src/test/java/com/android/tools/r8/ir/regalloc/B79405526.java
index f03e6f6..08058e5 100644
--- a/src/test/java/com/android/tools/r8/ir/regalloc/B79405526.java
+++ b/src/test/java/com/android/tools/r8/ir/regalloc/B79405526.java
@@ -5,12 +5,9 @@
 package com.android.tools.r8.ir.regalloc;
 
 import static com.android.tools.r8.utils.DexInspectorMatchers.isPresent;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.not;
 import static org.junit.Assert.assertThat;
 
 import com.android.tools.r8.TestBase;
-import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.utils.AndroidApp;
 import com.android.tools.r8.utils.DexInspector;
 import org.junit.Test;
@@ -22,13 +19,13 @@
     DexInspector inspector = new DexInspector(app);
     DexInspector.ClassSubject clazz = inspector.clazz(TestClass.class);
     assertThat(clazz, isPresent());
-    // TODO(christofferqa): Ensure runOnArt checks that there are no verification errors, and then
-    // use runOnArt instead of runOnArtRaw.
-    ToolHelper.ProcessResult d8Result = runOnArtRaw(app, TestClass.class.getCanonicalName());
-    assertThat(d8Result.stderr, not(containsString("Verification error")));
+    // Throws if a method in TestClass does not verify.
+    runOnArt(app, TestClass.class.getName());
   }
 
   private static class TestClass {
+    public static void main(String[] args) {}
+
     public void method() {
       Object x = this;
       TestClass y = this;
diff --git a/src/test/java/com/android/tools/r8/movestringconstants/TestClass.java b/src/test/java/com/android/tools/r8/movestringconstants/TestClass.java
index bf13fc3..bf74250 100644
--- a/src/test/java/com/android/tools/r8/movestringconstants/TestClass.java
+++ b/src/test/java/com/android/tools/r8/movestringconstants/TestClass.java
@@ -5,6 +5,8 @@
 package com.android.tools.r8.movestringconstants;
 
 public class TestClass {
+  public static void main(String[] args) {}
+
   static void foo(String arg1, String arg2, String arg3, String arg4) {
     Utils.check(arg1, "StringConstants::foo#1");
     Utils.check("", "StringConstants::foo#2");
diff --git a/src/test/java/com/android/tools/r8/regress/b72485384/Main.java b/src/test/java/com/android/tools/r8/regress/b72485384/Main.java
index c569c5e..f492fcc 100644
--- a/src/test/java/com/android/tools/r8/regress/b72485384/Main.java
+++ b/src/test/java/com/android/tools/r8/regress/b72485384/Main.java
@@ -3,14 +3,14 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.regress.b72485384;
 
-import com.google.common.base.Functions;
+import java.util.function.Function;
 
 public class Main {
 
   public static void main(String[] args) {
     GenericOuter<String> outer = new GenericOuter<>();
-    GenericOuter<String>.GenericInner<String> inner = outer
-        .makeInner(Functions.identity(), "Hello World!");
+    GenericOuter<String>.GenericInner<String> inner =
+        outer.makeInner(Function.identity(), "Hello World!");
     System.out.println(inner.innerGetter(inner));
     System.out.println(outer.outerGetter(inner));
   }
diff --git a/src/test/java/com/android/tools/r8/regress/b72485384/Regress72485384Test.java b/src/test/java/com/android/tools/r8/regress/b72485384/Regress72485384Test.java
index 3205434..c616810 100644
--- a/src/test/java/com/android/tools/r8/regress/b72485384/Regress72485384Test.java
+++ b/src/test/java/com/android/tools/r8/regress/b72485384/Regress72485384Test.java
@@ -3,10 +3,16 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.regress.b72485384;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertThat;
+
 import com.android.tools.r8.TestBase;
+import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.regress.b72485384.GenericOuter.GenericInner;
 import com.android.tools.r8.utils.AndroidApp;
 import com.google.common.collect.ImmutableList;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -17,33 +23,41 @@
 public class Regress72485384Test extends TestBase {
 
   @Parameters(name = "{0}")
-  public static List<String> getParameters() {
+  public static Collection<Object[]> getParameters() {
     String baseConfig =
         keepMainProguardConfiguration(Main.class)
             + "-keepattributes Signature,InnerClasses,EnclosingMethod ";
-    return ImmutableList.of(
-        baseConfig,
-        baseConfig + "-dontshrink",
-        baseConfig + "-dontshrink -dontobfuscate",
-        baseConfig + "-dontobfuscate",
-        "",
-        "-dontshrink",
-        "-keep class DoesNotExist -dontshrink"
-    );
+    return Arrays.asList(
+        new Object[][] {
+          {baseConfig, null},
+          {baseConfig + "-dontshrink", null},
+          {baseConfig + "-dontshrink -dontobfuscate", null},
+          {baseConfig + "-dontobfuscate", null},
+          {"", null},
+          {"-dontshrink", null},
+          {"-keep class DoesNotExist -dontshrink", "ClassNotFoundException"}
+        });
   }
 
   private final static List<Class> CLASSES = ImmutableList
       .of(GenericOuter.class, GenericInner.class, Main.class);
 
   private final String proguardConfig;
+  private final String expectedErrorMessage;
 
-  public Regress72485384Test(String proguardConfig) {
+  public Regress72485384Test(String proguardConfig, String expectedErrorMessage) {
     this.proguardConfig = proguardConfig;
+    this.expectedErrorMessage = expectedErrorMessage;
   }
 
   @Test
   public void testSignatureRewrite() throws Exception {
-    AndroidApp result = compileWithR8(CLASSES, proguardConfig);
-    runOnArt(result, Main.class.getCanonicalName());
+    AndroidApp app = compileWithR8(CLASSES, proguardConfig);
+    if (expectedErrorMessage == null) {
+      runOnArt(app, Main.class.getCanonicalName());
+    } else {
+      ToolHelper.ProcessResult result = runOnArtRaw(app, Main.class.getCanonicalName());
+      assertThat(result.stderr, containsString(expectedErrorMessage));
+    }
   }
 }