Extend testForRuntime with full configuration of the D8TestBuilder

Change-Id: Ie49661944e9f569a1b5e867bd8a6a04136ae602b
diff --git a/src/test/java/com/android/tools/r8/TestBase.java b/src/test/java/com/android/tools/r8/TestBase.java
index 78eaabf..b764451 100644
--- a/src/test/java/com/android/tools/r8/TestBase.java
+++ b/src/test/java/com/android/tools/r8/TestBase.java
@@ -193,17 +193,22 @@
   }
 
   public TestBuilder<? extends TestRunResult<?>, ?> testForRuntime(
-      TestRuntime runtime, AndroidApiLevel apiLevel) {
+      TestRuntime runtime, Consumer<D8TestBuilder> d8TestBuilderConsumer) {
     if (runtime.isCf()) {
       return testForJvm();
     } else {
       assert runtime.isDex();
       D8TestBuilder d8TestBuilder = testForD8();
-      d8TestBuilder.setMinApi(apiLevel);
+      d8TestBuilderConsumer.accept(d8TestBuilder);
       return d8TestBuilder;
     }
   }
 
+  public TestBuilder<? extends TestRunResult<?>, ?> testForRuntime(
+      TestRuntime runtime, AndroidApiLevel apiLevel) {
+    return testForRuntime(runtime, d8TestBuilder -> d8TestBuilder.setMinApi(apiLevel));
+  }
+
   public TestBuilder<? extends TestRunResult<?>, ?> testForRuntime(TestParameters parameters) {
     return testForRuntime(parameters.getRuntime(), parameters.getApiLevel());
   }
diff --git a/src/test/java/com/android/tools/r8/shaking/staticinterfacemethods/defaultmethods/StaticInterfaceMethodsTest.java b/src/test/java/com/android/tools/r8/shaking/staticinterfacemethods/defaultmethods/StaticInterfaceMethodsTest.java
index ed6d43b..49fec87 100644
--- a/src/test/java/com/android/tools/r8/shaking/staticinterfacemethods/defaultmethods/StaticInterfaceMethodsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/staticinterfacemethods/defaultmethods/StaticInterfaceMethodsTest.java
@@ -83,22 +83,14 @@
               .addRunClasspathFiles(app)
               .run(parameters.getRuntime(), InstrumentedTestClass.class);
     } else {
-      if (parameters.getRuntime().isCf()) {
-        result =
-            testForJvm()
-                .addProgramClasses(InstrumentedTestClass.class)
-                .addRunClasspathFiles(app)
-                .run(parameters.getRuntime(), InstrumentedTestClass.class);
-      } else {
-        result =
-            testForD8()
-                .addProgramClasses(InstrumentedTestClass.class)
-                .addClasspathClasses(InterfaceWithStaticMethods.class)
-                .setMinApi(parameters.getApiLevel())
-                .compile()
-                .addRunClasspathFiles(app)
-                .run(parameters.getRuntime(), InstrumentedTestClass.class);
-      }
+      result =
+          testForRuntime(
+                  parameters.getRuntime(),
+                  d8TestBuilder ->
+                      d8TestBuilder.setMinApi(parameters.getApiLevel()).addClasspathFiles(app))
+              .addProgramClasses(InstrumentedTestClass.class)
+              .addRunClasspathFiles(app)
+              .run(parameters.getRuntime(), InstrumentedTestClass.class);
     }
     if (parameters.canUseDefaultAndStaticInterfaceMethods()) {
       result.assertSuccessWithOutputLines("42");