Port devirtualizer tests to use new parameters structure

Change-Id: Ibff673467bd924382b4d93b1f4d213b06bb273ce
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/devirtualize/DevirtualizerNonNullRewritingTest.java b/src/test/java/com/android/tools/r8/ir/optimize/devirtualize/DevirtualizerNonNullRewritingTest.java
index 12bce34..61d5cf3 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/devirtualize/DevirtualizerNonNullRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/devirtualize/DevirtualizerNonNullRewritingTest.java
@@ -7,7 +7,8 @@
 import com.android.tools.r8.NeverInline;
 import com.android.tools.r8.NeverMerge;
 import com.android.tools.r8.TestBase;
-import com.android.tools.r8.ToolHelper;
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -16,15 +17,24 @@
 @RunWith(Parameterized.class)
 public class DevirtualizerNonNullRewritingTest extends TestBase {
 
-  private final Backend backend;
+  private final TestParameters parameters;
+  private static final String EXPECTED_OUTPUT = "Hello!";
 
-  @Parameters(name = "Backend: {0}")
-  public static Backend[] data() {
-    return ToolHelper.getBackends();
+  @Parameters(name = "{0}")
+  public static TestParametersCollection data() {
+    return getTestParameters().withAllRuntimesAndApiLevels().build();
   }
 
-  public DevirtualizerNonNullRewritingTest(Backend backend) {
-    this.backend = backend;
+  public DevirtualizerNonNullRewritingTest(TestParameters parameters) {
+    this.parameters = parameters;
+  }
+
+  @Test
+  public void testRuntime() throws Exception {
+    testForRuntime(parameters)
+        .addInnerClasses(DevirtualizerNonNullRewritingTest.class)
+        .run(parameters.getRuntime(), TestClass.class)
+        .assertSuccessWithOutput(EXPECTED_OUTPUT);
   }
 
   /**
@@ -32,17 +42,14 @@
    */
   @Test
   public void test() throws Exception {
-    String expectedOutput = "Hello!";
-
-    testForJvm().addTestClasspath().run(TestClass.class).assertSuccessWithOutput(expectedOutput);
-
-    testForR8(backend)
+    testForR8(parameters.getBackend())
         .addInnerClasses(DevirtualizerNonNullRewritingTest.class)
         .addKeepMainRule(TestClass.class)
         .enableInliningAnnotations()
         .enableMergeAnnotations()
-        .run(TestClass.class)
-        .assertSuccessWithOutput(expectedOutput);
+        .setMinApi(parameters.getApiLevel())
+        .run(parameters.getRuntime(), TestClass.class)
+        .assertSuccessWithOutput(EXPECTED_OUTPUT);
   }
 
   static class TestClass {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/devirtualize/InvokeInterfaceToInvokeVirtualTest.java b/src/test/java/com/android/tools/r8/ir/optimize/devirtualize/InvokeInterfaceToInvokeVirtualTest.java
index a75cc4c..efb4422 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/devirtualize/InvokeInterfaceToInvokeVirtualTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/devirtualize/InvokeInterfaceToInvokeVirtualTest.java
@@ -14,7 +14,6 @@
 import com.android.tools.r8.ir.optimize.devirtualize.invokeinterface.A1;
 import com.android.tools.r8.ir.optimize.devirtualize.invokeinterface.I;
 import com.android.tools.r8.ir.optimize.devirtualize.invokeinterface.Main;
-import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
 import com.android.tools.r8.utils.codeinspector.InstructionSubject;
@@ -27,10 +26,11 @@
 public class InvokeInterfaceToInvokeVirtualTest extends TestBase {
 
   private final TestParameters parameters;
+  private final String EXPECTED_OUTPUT = "0";
 
   @Parameterized.Parameters(name = "{0}")
   public static TestParametersCollection data() {
-    return getTestParameters().withAllRuntimes().build();
+    return getTestParameters().withAllRuntimesAndApiLevels().build();
   }
 
   public InvokeInterfaceToInvokeVirtualTest(TestParameters parameters) {
@@ -38,25 +38,24 @@
   }
 
   @Test
+  public void testRuntime() throws Exception {
+    testForRuntime(parameters)
+        .addProgramClasses(I.class, A.class, A0.class, A1.class, Main.class)
+        .run(parameters.getRuntime(), Main.class)
+        .assertSuccessWithOutputLines(EXPECTED_OUTPUT);
+  }
+
+  @Test
   public void listOfInterface() throws Exception {
-    String expectedOutput = StringUtils.lines("0");
-
-    if (parameters.isCfRuntime()) {
-      testForJvm()
-          .addTestClasspath()
-          .run(parameters.getRuntime(), Main.class)
-          .assertSuccessWithOutput(expectedOutput);
-    }
-
     CodeInspector inspector =
         testForR8(parameters.getBackend())
             .addProgramClasses(I.class, A.class, A0.class, A1.class, Main.class)
             .addKeepMainRule(Main.class)
             .addOptionsModification(
                 options -> options.enableInliningOfInvokesWithNullableReceivers = false)
-            .setMinApi(parameters.getRuntime())
+            .setMinApi(parameters.getApiLevel())
             .run(parameters.getRuntime(), Main.class)
-            .assertSuccessWithOutput(expectedOutput)
+            .assertSuccessWithOutputLines(EXPECTED_OUTPUT)
             .inspector();
 
     ClassSubject clazz = inspector.clazz(Main.class);