Fix missing class errors in tests
Change-Id: Ie2929c18d4d38b55bb9fd7a384579a28a41df07b
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11MathTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11MathTests.java
index 8a07522..2c62b8f 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11MathTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11MathTests.java
@@ -113,6 +113,7 @@
.addKeepMainRule(DIVMOD)
.addKeepMainRule(EXACTARITH)
.addProgramFiles(JDK_11_MATH_TEST_CLASS_FILES)
+ .addLibraryFiles(ToolHelper.getMostRecentAndroidJar())
.setMinApi(parameters.getRuntime())
.run(parameters.getRuntime(), EXACTARITH)
.assertSuccessWithOutput("");
@@ -124,6 +125,7 @@
.addKeepMainRule(DIVMOD)
.addKeepMainRule(EXACTARITH)
.addProgramFiles(JDK_11_MATH_TEST_CLASS_FILES)
+ .addLibraryFiles(ToolHelper.getMostRecentAndroidJar())
.setMinApi(parameters.getRuntime())
.run(parameters.getRuntime(), DIVMOD)
.assertSuccessWithOutput("");
@@ -134,6 +136,7 @@
testForR8(parameters.getBackend())
.addProgramFiles(JDK_11_STRICT_MATH_TEST_CLASS_FILES)
.addKeepMainRule(EXACTARITH)
+ .addLibraryFiles(ToolHelper.getMostRecentAndroidJar())
.setMinApi(parameters.getRuntime())
.run(parameters.getRuntime(), EXACTARITH)
.assertSuccessWithOutput("");
diff --git a/src/test/java/com/android/tools/r8/internal/proto/ChromeProtoRewritingTest.java b/src/test/java/com/android/tools/r8/internal/proto/ChromeProtoRewritingTest.java
index 318de07..166fb60 100644
--- a/src/test/java/com/android/tools/r8/internal/proto/ChromeProtoRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/internal/proto/ChromeProtoRewritingTest.java
@@ -44,6 +44,7 @@
keepAllProtosRule(),
keepDynamicMethodSignatureRule(),
keepNewMessageInfoSignatureRule())
+ .addDontWarn("android.content.pm.IPackageManager")
.allowUnusedProguardConfigurationRules()
.enableProtoShrinking(false)
.setMinApi(AndroidApiLevel.N)
diff --git a/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java b/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
index 9c88b7f..3d2e137 100644
--- a/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
@@ -7,8 +7,10 @@
import static org.junit.Assert.assertTrue;
import com.android.tools.r8.TestBase;
+import com.android.tools.r8.TestParameters;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.shaking.PrintUsageTest.PrintUsageInspector.ClassSubject;
+import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.ListUtils;
import com.google.common.collect.ImmutableList;
import java.io.File;
@@ -38,18 +40,18 @@
private static final String PRINT_USAGE_FILE_SUFFIX = "-print-usage.txt";
- private final Backend backend;
+ private final TestParameters parameters;
private final String test;
private final String programFile;
private final List<String> keepRulesFiles;
private final Consumer<PrintUsageInspector> inspection;
public PrintUsageTest(
- Backend backend,
+ TestParameters parameters,
String test,
List<String> keepRulesFiles,
Consumer<PrintUsageInspector> inspection) {
- this.backend = backend;
+ this.parameters = parameters;
this.test = test;
this.programFile = ToolHelper.EXAMPLES_BUILD_DIR + test + ".jar";
this.keepRulesFiles = keepRulesFiles;
@@ -59,13 +61,19 @@
@Before
public void runR8andGetPrintUsage() throws Exception {
Path out = temp.getRoot().toPath();
- testForR8(backend)
+ testForR8(parameters.getBackend())
.addProgramFiles(Paths.get(programFile))
.addKeepRuleFiles(ListUtils.map(keepRulesFiles, Paths::get))
.addKeepRules("-printusage " + out.resolve(test + PRINT_USAGE_FILE_SUFFIX))
+ .applyIf(
+ test.equals("shaking12")
+ && parameters.isDexRuntime()
+ && parameters.getApiLevel().isLessThan(AndroidApiLevel.K),
+ builder -> builder.addDontWarn(ReflectiveOperationException.class))
// Disable inlining to make this test not depend on inlining decisions.
.addOptionsModification(o -> o.enableInlining = false)
.enableProguardTestOptions()
+ .setMinApi(parameters.getApiLevel())
.compile();
}
@@ -79,7 +87,7 @@
}
}
- @Parameters(name = "test: {0} keep: {1}")
+ @Parameters(name = "{0}, test: {1} keep: {2}")
public static Collection<Object[]> data() {
List<String> tests = Arrays.asList(
"shaking1", "shaking2", "shaking4", "shaking8", "shaking9", "shaking12");
@@ -93,7 +101,7 @@
inspections.put("shaking12:keep-rules-printusage.txt", PrintUsageTest::inspectShaking12);
List<Object[]> testCases = new ArrayList<>();
- for (Backend backend : ToolHelper.getBackends()) {
+ for (TestParameters parameters : getTestParameters().withAllRuntimesAndApiLevels().build()) {
Set<String> usedInspections = new HashSet<>();
for (String test : tests) {
File[] keepFiles = new File(ToolHelper.EXAMPLES_DIR + test)
@@ -103,8 +111,8 @@
Consumer<PrintUsageInspector> inspection =
getTestOptionalParameter(inspections, usedInspections, test, keepName);
if (inspection != null) {
- testCases.add(
- new Object[] {backend, test, ImmutableList.of(keepFile.getPath()), inspection});
+ testCases.add(
+ new Object[] {parameters, test, ImmutableList.of(keepFile.getPath()), inspection});
}
}
}