Explicitly set runtime library files.
After go/r8g/36421, calling addLibrary* voids the default library.
If tests set their own library classes/paths (e.g., applymapping),
they need to explicitly reset defaultish runtime library files.
Change-Id: I5c8818e0a5d4336b3787d61162f965ed4e1defc9
diff --git a/src/test/java/com/android/tools/r8/TestBase.java b/src/test/java/com/android/tools/r8/TestBase.java
index 063e871..ddb9861 100644
--- a/src/test/java/com/android/tools/r8/TestBase.java
+++ b/src/test/java/com/android/tools/r8/TestBase.java
@@ -1064,6 +1064,15 @@
}
}
+ public static Path runtimeJar(TestParameters parameters) {
+ if (parameters.getBackend() == Backend.DEX) {
+ return ToolHelper.getAndroidJar(parameters.getRuntime().asDex().getMinApiLevel());
+ } else {
+ assert parameters.getBackend() == Backend.CF;
+ return ToolHelper.getJava8RuntimeJar();
+ }
+ }
+
public static Path runtimeJar(Backend backend) {
if (backend == Backend.DEX) {
return ToolHelper.getDefaultAndroidJar();
diff --git a/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSubClassTest.java b/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSubClassTest.java
index e88aed8..e66b8d7 100644
--- a/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSubClassTest.java
+++ b/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSubClassTest.java
@@ -6,8 +6,8 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static com.android.tools.r8.utils.codeinspector.Matchers.isRenamed;
import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
import com.android.tools.r8.NeverMerge;
import com.android.tools.r8.TestBase;
diff --git a/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSubInterfaceTest.java b/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSubInterfaceTest.java
index f3ca740..a60537d 100644
--- a/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSubInterfaceTest.java
+++ b/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSubInterfaceTest.java
@@ -6,8 +6,8 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static com.android.tools.r8.utils.codeinspector.Matchers.isRenamed;
import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assume.assumeFalse;
import com.android.tools.r8.NeverMerge;
@@ -102,6 +102,7 @@
testForR8(Backend.DEX)
.addProgramClasses(TestClass.class, A.class, B.class)
.addLibraryClasses(I.class, J.class)
+ .addLibraryFiles(runtimeJar(Backend.DEX))
.enableMergeAnnotations()
.addKeepMainRule(TestClass.class)
.compile()
diff --git a/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSuperClassTest.java b/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSuperClassTest.java
index ce47daf..af533e3 100644
--- a/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSuperClassTest.java
+++ b/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSuperClassTest.java
@@ -6,9 +6,9 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static com.android.tools.r8.utils.codeinspector.Matchers.isRenamed;
import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assume.assumeFalse;
import com.android.tools.r8.TestBase;
@@ -77,6 +77,7 @@
testForR8(Backend.DEX)
.addProgramClasses(ASub1.class, ASub2.class, TestClass.class)
.addLibraryClasses(A.class)
+ .addLibraryFiles(runtimeJar(Backend.DEX))
.enableClassInliningAnnotations()
.addKeepMainRule(TestClass.class)
.compile()
diff --git a/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSuperInterfaceTest.java b/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSuperInterfaceTest.java
index 71a1b57..f19a00d 100644
--- a/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSuperInterfaceTest.java
+++ b/src/test/java/com/android/tools/r8/naming/ReservedFieldNameInSuperInterfaceTest.java
@@ -6,8 +6,8 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static com.android.tools.r8.utils.codeinspector.Matchers.isRenamed;
import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assume.assumeFalse;
import com.android.tools.r8.R8TestRunResult;
@@ -77,6 +77,7 @@
testForR8(Backend.DEX)
.addProgramClasses(TestClass.class, A.class, J.class)
.addLibraryClasses(I.class)
+ .addLibraryFiles(runtimeJar(Backend.DEX))
.enableMemberValuePropagationAnnotations()
.enableMergeAnnotations()
.addKeepMainRule(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterDevirtualizationTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterDevirtualizationTest.java
index a13a5f6..500dbf5 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterDevirtualizationTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterDevirtualizationTest.java
@@ -101,7 +101,7 @@
@Ignore("b/126503704")
@Test
- public void devirtualizingNoRenamingOfOverridenNotKeptInterfaceMethods() throws Exception {
+ public void devirtualizingNoRenamingOfOverriddenNotKeptInterfaceMethods() throws Exception {
R8TestCompileResult libraryResult =
testForR8(backend)
.addProgramClasses(LIBRARY_CLASSES)
@@ -124,6 +124,7 @@
.addProgramClasses(PROGRAM_CLASSES)
.addApplyMapping(libraryResult.getProguardMap())
.addLibraryClasses(LIBRARY_CLASSES)
+ .addLibraryFiles(runtimeJar(backend))
.compile()
.addRunClasspathFiles(libraryResult.writeToZip())
.run(ProgramClass.class)
@@ -132,7 +133,7 @@
@Ignore("b/126503704")
@Test
- public void devirtualizingNoRenamingOfOverridenKeptInterfaceMethods() throws Exception {
+ public void devirtualizingNoRenamingOfOverriddenKeptInterfaceMethods() throws Exception {
R8TestCompileResult libraryResult =
testForR8(backend)
.addProgramClasses(LIBRARY_CLASSES)
@@ -155,6 +156,7 @@
.addProgramClasses(PROGRAM_CLASSES)
.addApplyMapping(libraryResult.getProguardMap())
.addLibraryClasses(LIBRARY_CLASSES)
+ .addLibraryFiles(runtimeJar(backend))
.compile()
.addRunClasspathFiles(libraryResult.writeToZip())
.run(ProgramClass.class)
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingFieldTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingFieldTest.java
index 1ccdfdd..61d05ef 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingFieldTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingFieldTest.java
@@ -107,6 +107,7 @@
.addProgramClasses(PROGRAM_CLASSES)
.addApplyMapping(libraryResult.getProguardMap())
.addLibraryClasses(LIBRARY_CLASSES)
+ .addLibraryFiles(runtimeJar(backend))
.compile()
.addRunClasspathFiles(libraryResult.writeToZip())
.run(ProgramClass.class)
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingMethodTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingMethodTest.java
index 9e370a7..7429e57 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingMethodTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingMethodTest.java
@@ -115,6 +115,7 @@
.addProgramClasses(PROGRAM_CLASSES)
.addApplyMapping(libraryResult.getProguardMap())
.addLibraryClasses(LIBRARY_CLASSES)
+ .addLibraryFiles(runtimeJar(backend))
.compile()
.addRunClasspathFiles(libraryResult.writeToZip())
.run(ProgramClass.class)
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingFieldTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingFieldTest.java
index c982b0a..a7a51fd 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingFieldTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingFieldTest.java
@@ -94,6 +94,7 @@
.addProgramClasses(PROGRAM_CLASSES)
.addApplyMapping(libraryResult.getProguardMap())
.addLibraryClasses(LIBRARY_CLASSES)
+ .addLibraryFiles(runtimeJar(backend))
.compile()
.addRunClasspathFiles(libraryResult.writeToZip())
.run(ProgramClass.class)
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingMethodTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingMethodTest.java
index d0738c4..cb4b04d 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingMethodTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterVerticalMergingMethodTest.java
@@ -143,6 +143,7 @@
.addProgramClasses(PROGRAM_CLASSES)
.addApplyMapping(proguardMap)
.addLibraryClasses(LIBRARY_CLASSES)
+ .addLibraryFiles(runtimeJar(backend))
.setMinApi(AndroidApiLevel.B)
.compile();
}