Enable partial for more resource shrinker tests

Bug: b/405338406
Change-Id: Iedf8ca5cdf101586e57d361ed2ce71574ef34384
diff --git a/src/test/java/com/android/tools/r8/androidresources/DiagnosticOnFinalIntFieldsTest.java b/src/test/java/com/android/tools/r8/androidresources/DiagnosticOnFinalIntFieldsTest.java
index a096a8f..12a294d 100644
--- a/src/test/java/com/android/tools/r8/androidresources/DiagnosticOnFinalIntFieldsTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/DiagnosticOnFinalIntFieldsTest.java
@@ -28,7 +28,11 @@
 
   @Parameters(name = "{0}")
   public static TestParametersCollection parameters() {
-    return getTestParameters().withDefaultDexRuntime().withAllApiLevels().build();
+    return getTestParameters()
+        .withDefaultDexRuntime()
+        .withAllApiLevels()
+        .withPartialCompilation()
+        .build();
   }
 
   public static AndroidTestResource getTestResources(TemporaryFolder temp) throws Exception {
@@ -43,8 +47,7 @@
     // We test the final id field type by simply passing the standard test resources but ignoring
     // the aapt generated R class, instead we pass directly the R class from this file, which
     // have no real resource references, but does have a non integer field.
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(FooBar.class)
         .addAndroidResources(
             getTestResources(temp),
diff --git a/src/test/java/com/android/tools/r8/androidresources/DuplicatedEntriesEmptyUnusedTest.java b/src/test/java/com/android/tools/r8/androidresources/DuplicatedEntriesEmptyUnusedTest.java
index 8b7e50b..07045d6 100644
--- a/src/test/java/com/android/tools/r8/androidresources/DuplicatedEntriesEmptyUnusedTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/DuplicatedEntriesEmptyUnusedTest.java
@@ -3,7 +3,9 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.androidresources;
 
-import com.android.tools.r8.R8FullTestBuilder;
+import static org.junit.Assume.assumeTrue;
+
+import com.android.tools.r8.R8TestBuilder;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.ToolHelper;
@@ -34,7 +36,11 @@
   @Parameters(name = "{0}, optimized: {1}")
   public static List<Object[]> data() {
     return buildParameters(
-        getTestParameters().withDefaultDexRuntime().withAllApiLevels().build(),
+        getTestParameters()
+            .withDefaultDexRuntime()
+            .withAllApiLevels()
+            .withPartialCompilation()
+            .build(),
         BooleanUtils.values());
   }
 
@@ -57,17 +63,18 @@
 
   @Test
   public void testR8() throws Exception {
+    // We don't support running R8Partial with non optimized resource shrinking.
+    assumeTrue(optimized || parameters.getPartialCompilationTestParameters().isNone());
     TemporaryFolder featureSplitTemp = ToolHelper.getTemporaryFolderForTest();
     featureSplitTemp.create();
 
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(Base.class)
         .addFeatureSplit(FeatureSplitMain.class)
         .addAndroidResources(getTestResources(temp))
         .addFeatureSplitAndroidResources(
             getFeatureSplitTestResources(featureSplitTemp), FeatureSplit.class.getName())
-        .applyIf(optimized, R8FullTestBuilder::enableOptimizedShrinking)
+        .applyIf(optimized, R8TestBuilder::enableOptimizedShrinking)
         .addKeepMainRule(Base.class)
         .addKeepMainRule(FeatureSplitMain.class)
         .compile()
diff --git a/src/test/java/com/android/tools/r8/androidresources/KeepXmlFilesTest.java b/src/test/java/com/android/tools/r8/androidresources/KeepXmlFilesTest.java
index 3676fd8..34c870a 100644
--- a/src/test/java/com/android/tools/r8/androidresources/KeepXmlFilesTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/KeepXmlFilesTest.java
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.androidresources;
 
+import static org.junit.Assume.assumeTrue;
+
 import com.android.tools.r8.R8TestBuilder;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
@@ -29,7 +31,11 @@
   @Parameters(name = "{0}, optimized: {1}")
   public static List<Object[]> data() {
     return buildParameters(
-        getTestParameters().withDefaultDexRuntime().withAllApiLevels().build(),
+        getTestParameters()
+            .withDefaultDexRuntime()
+            .withAllApiLevels()
+            .withPartialCompilation()
+            .build(),
         BooleanUtils.values());
   }
 
@@ -44,8 +50,9 @@
 
   @Test
   public void testR8() throws Exception {
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    // We don't support running R8Partial with non optimized resource shrinking.
+    assumeTrue(optimized || parameters.getPartialCompilationTestParameters().isNone());
+    testForR8(parameters)
         .addProgramClasses(FooBar.class)
         .addAndroidResources(getTestResources(temp))
         .addKeepMainRule(FooBar.class)
@@ -61,10 +68,12 @@
               resourceTableInspector.assertContainsResourceWithName("drawable", "foobar");
               // Referenced from additional keep xml files
               resourceTableInspector.assertContainsResourceWithName("drawable", "barfoo");
-              resourceTableInspector.assertDoesNotContainResourceWithName(
-                  "string", "unused_string");
-              resourceTableInspector.assertDoesNotContainResourceWithName(
-                  "drawable", "unused_drawable");
+              if (!parameters.isRandomPartialCompilation()) {
+                resourceTableInspector.assertDoesNotContainResourceWithName(
+                    "string", "unused_string");
+                resourceTableInspector.assertDoesNotContainResourceWithName(
+                    "drawable", "unused_drawable");
+              }
             })
         .run(parameters.getRuntime(), FooBar.class)
         .assertSuccess();
diff --git a/src/test/java/com/android/tools/r8/androidresources/KeepXmlTransitiveCodeReachabilityTest.java b/src/test/java/com/android/tools/r8/androidresources/KeepXmlTransitiveCodeReachabilityTest.java
index d076b60..8ed8c5b 100644
--- a/src/test/java/com/android/tools/r8/androidresources/KeepXmlTransitiveCodeReachabilityTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/KeepXmlTransitiveCodeReachabilityTest.java
@@ -31,7 +31,11 @@
 
   @Parameters(name = "{0}")
   public static TestParametersCollection parameters() {
-    return getTestParameters().withDefaultDexRuntime().withAllApiLevels().build();
+    return getTestParameters()
+        .withDefaultDexRuntime()
+        .withAllApiLevels()
+        .withPartialCompilation()
+        .build();
   }
 
   public static String XML_WITH_CODE_REFERENCE =
@@ -73,8 +77,7 @@
       Multimap<String, String> present,
       Multimap<String, String> absent)
       throws ExecutionException, IOException, CompilationFailedException {
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(TestClass.class, Bar.class)
         .addAndroidResources(testResources)
         .addKeepMainRule(TestClass.class)
@@ -83,7 +86,9 @@
         .inspectShrunkenResources(
             resourceTableInspector -> {
               present.forEach(resourceTableInspector::assertContainsResourceWithName);
-              absent.forEach(resourceTableInspector::assertDoesNotContainResourceWithName);
+              if (!parameters.isRandomPartialCompilation()) {
+                absent.forEach(resourceTableInspector::assertDoesNotContainResourceWithName);
+              }
             })
         .inspect(
             codeInspector -> {
diff --git a/src/test/java/com/android/tools/r8/androidresources/KeptOnlyRClassEntriesTest.java b/src/test/java/com/android/tools/r8/androidresources/KeptOnlyRClassEntriesTest.java
index 42c61c6..e44ca2e 100644
--- a/src/test/java/com/android/tools/r8/androidresources/KeptOnlyRClassEntriesTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/KeptOnlyRClassEntriesTest.java
@@ -27,7 +27,11 @@
 
   @Parameters(name = "{0}")
   public static TestParametersCollection parameters() {
-    return getTestParameters().withDefaultDexRuntime().withAllApiLevels().build();
+    return getTestParameters()
+        .withDefaultDexRuntime()
+        .withAllApiLevels()
+        .withPartialCompilation()
+        .build();
   }
 
   public static AndroidTestResource getTestResources(TemporaryFolder temp) throws Exception {
@@ -69,8 +73,7 @@
               }
             },
             s -> s.contains("drawable"));
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(TestClass.class)
         .addAndroidResources(testResources)
         .addKeepMainRule(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/androidresources/MultiConfigXmlFilesTest.java b/src/test/java/com/android/tools/r8/androidresources/MultiConfigXmlFilesTest.java
index c8ebee4..7da9265 100644
--- a/src/test/java/com/android/tools/r8/androidresources/MultiConfigXmlFilesTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/MultiConfigXmlFilesTest.java
@@ -26,7 +26,11 @@
 
   @Parameters(name = "{0}")
   public static TestParametersCollection parameters() {
-    return getTestParameters().withDefaultDexRuntime().withAllApiLevels().build();
+    return getTestParameters()
+        .withDefaultDexRuntime()
+        .withAllApiLevels()
+        .withPartialCompilation()
+        .build();
   }
 
   public static String VIEW_WITH_CLASS_ATTRIBUTE_REFERENCE =
@@ -49,8 +53,7 @@
 
   @Test
   public void testClassReferences() throws Exception {
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(TestClass.class, Foo.class, Bar.class)
         .addAndroidResources(getTestResources(temp))
         .addKeepMainRule(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/androidresources/NestedXmlReferences.java b/src/test/java/com/android/tools/r8/androidresources/NestedXmlReferences.java
index 70b6fbe..13dfdb2 100644
--- a/src/test/java/com/android/tools/r8/androidresources/NestedXmlReferences.java
+++ b/src/test/java/com/android/tools/r8/androidresources/NestedXmlReferences.java
@@ -27,7 +27,11 @@
 
   @Parameters(name = "{0}")
   public static TestParametersCollection parameters() {
-    return getTestParameters().withDefaultDexRuntime().withAllApiLevels().build();
+    return getTestParameters()
+        .withDefaultDexRuntime()
+        .withAllApiLevels()
+        .withPartialCompilation()
+        .build();
   }
 
   public static String TO_BE_INCLUDED =
@@ -60,8 +64,7 @@
 
   @Test
   public void testTransitiveReference() throws Exception {
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(TestClass.class, Bar.class, Foo.class)
         .addAndroidResources(getTestResources(temp))
         .addKeepMainRule(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/androidresources/NoOptResourceShrinkingTest.java b/src/test/java/com/android/tools/r8/androidresources/NoOptResourceShrinkingTest.java
index 2248d93..3e19e29 100644
--- a/src/test/java/com/android/tools/r8/androidresources/NoOptResourceShrinkingTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/NoOptResourceShrinkingTest.java
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.androidresources;
 
+import static org.junit.Assume.assumeTrue;
+
 import com.android.tools.r8.R8TestBuilder;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
@@ -29,7 +31,11 @@
   @Parameters(name = "{0}, optimized: {1}")
   public static List<Object[]> data() {
     return buildParameters(
-        getTestParameters().withDefaultDexRuntime().withAllApiLevels().build(),
+        getTestParameters()
+            .withDefaultDexRuntime()
+            .withAllApiLevels()
+            .withPartialCompilation()
+            .build(),
         BooleanUtils.values());
   }
 
@@ -42,9 +48,10 @@
 
   @Test
   public void testR8() throws Exception {
+    // We don't support running R8Partial with non optimized resource shrinking.
+    assumeTrue(optimized || parameters.getPartialCompilationTestParameters().isNone());
     AndroidTestResource testResources = getTestResources(temp);
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(FooBar.class)
         .applyIf(optimized, R8TestBuilder::enableOptimizedShrinking)
         .addAndroidResources(testResources)
@@ -55,8 +62,10 @@
             resourceTableInspector -> {
               resourceTableInspector.assertContainsResourceWithName("string", "bar");
               resourceTableInspector.assertContainsResourceWithName("string", "foo");
-              resourceTableInspector.assertDoesNotContainResourceWithName(
-                  "string", "unused_string");
+              if (!parameters.isRandomPartialCompilation()) {
+                resourceTableInspector.assertDoesNotContainResourceWithName(
+                    "string", "unused_string");
+              }
             })
         .run(parameters.getRuntime(), FooBar.class)
         .assertSuccess();
diff --git a/src/test/java/com/android/tools/r8/androidresources/OnClickMethodReferenceTest.java b/src/test/java/com/android/tools/r8/androidresources/OnClickMethodReferenceTest.java
index 16cce10..25cbd14 100644
--- a/src/test/java/com/android/tools/r8/androidresources/OnClickMethodReferenceTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/OnClickMethodReferenceTest.java
@@ -30,7 +30,11 @@
 
   @Parameters(name = "{0}")
   public static TestParametersCollection parameters() {
-    return getTestParameters().withDefaultDexRuntime().withAllApiLevels().build();
+    return getTestParameters()
+        .withDefaultDexRuntime()
+        .withAllApiLevels()
+        .withPartialCompilation()
+        .build();
   }
 
   public static String XML_WITH_ONCLICK =
@@ -64,8 +68,7 @@
 
   @Test
   public void testSingleClassWithOnclick() throws Exception {
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(TestClass.class, Bar.class, Foo.class)
         .addAndroidResources(getTestResources(temp, XML_WITH_ONCLICK))
         .addKeepMainRule(TestClass.class)
@@ -79,15 +82,16 @@
                   barClass.uniqueMethodWithOriginalName("theMagicOnClick"),
                   isPresentAndNotRenamed());
 
-              ClassSubject fooClass = codeInspector.clazz(Foo.class);
-              assertThat(fooClass, isAbsent());
+              if (!parameters.isRandomPartialCompilation()) {
+                ClassSubject fooClass = codeInspector.clazz(Foo.class);
+                assertThat(fooClass, isAbsent());
+              }
             });
   }
 
   @Test
   public void testNestedClassWithOnclick() throws Exception {
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(TestClass.class, Bar.class, Foo.class)
         .addAndroidResources(getTestResources(temp, XML_WITH_NESTED_CLASS_AND_ONCLICK))
         .addKeepMainRule(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/androidresources/RClassWithNonIDFieldTest.java b/src/test/java/com/android/tools/r8/androidresources/RClassWithNonIDFieldTest.java
index 8cac122..324e46c 100644
--- a/src/test/java/com/android/tools/r8/androidresources/RClassWithNonIDFieldTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/RClassWithNonIDFieldTest.java
@@ -25,7 +25,11 @@
 
   @Parameters(name = "{0}")
   public static TestParametersCollection parameters() {
-    return getTestParameters().withDefaultDexRuntime().withAllApiLevels().build();
+    return getTestParameters()
+        .withDefaultDexRuntime()
+        .withAllApiLevels()
+        .withPartialCompilation()
+        .build();
   }
 
   public static AndroidTestResource getTestResources(TemporaryFolder temp) throws Exception {
@@ -40,8 +44,7 @@
     // We test the non id field type by simply passing the standard test resources but ignoring
     // the aapt generated R class, instead we pass directly the R class from this file, which
     // have no real resource references, but does have a non integer field.
-    testForR8(parameters.getBackend())
-        .setMinApi(parameters)
+    testForR8(parameters)
         .addProgramClasses(FooBar.class)
         .addAndroidResources(
             getTestResources(temp),
@@ -54,7 +57,9 @@
             resourceTableInspector -> {
               // We explicitly do not have any resources traced since we don't use the aapt
               // R class file.
-              resourceTableInspector.assertDoesNotContainResourceWithName("string", "foo");
+              if (!parameters.isRandomPartialCompilation()) {
+                resourceTableInspector.assertDoesNotContainResourceWithName("string", "foo");
+              }
             })
         .run(parameters.getRuntime(), FooBar.class)
         .assertSuccessWithOutputLines("bar");