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");