Update repro of b/202074964 to test with classpath
Bug: 202074964
Change-Id: Id5f5611c715afa67722c4156221ace821339a51b
diff --git a/src/test/java/com/android/tools/r8/optimize/argumentpropagation/UpwardsInterfacePropagationToLibraryMethodTest.java b/src/test/java/com/android/tools/r8/optimize/argumentpropagation/UpwardsInterfacePropagationToLibraryOrClasspathMethodTest.java
similarity index 84%
rename from src/test/java/com/android/tools/r8/optimize/argumentpropagation/UpwardsInterfacePropagationToLibraryMethodTest.java
rename to src/test/java/com/android/tools/r8/optimize/argumentpropagation/UpwardsInterfacePropagationToLibraryOrClasspathMethodTest.java
index 9da19a0..f6c0782 100644
--- a/src/test/java/com/android/tools/r8/optimize/argumentpropagation/UpwardsInterfacePropagationToLibraryMethodTest.java
+++ b/src/test/java/com/android/tools/r8/optimize/argumentpropagation/UpwardsInterfacePropagationToLibraryOrClasspathMethodTest.java
@@ -23,15 +23,28 @@
// This is a regression test for b/202074964.
@RunWith(Parameterized.class)
-public class UpwardsInterfacePropagationToLibraryMethodTest extends TestBase {
+public class UpwardsInterfacePropagationToLibraryOrClasspathMethodTest extends TestBase {
+
+ private enum LibraryOrClasspath {
+ LIBRARY,
+ CLASSPATH;
+
+ private boolean isLibrary() {
+ return this == LIBRARY;
+ }
+ }
@Parameter(0)
public TestParameters parameters;
- @Parameters(name = "{0}")
+ @Parameter(1)
+ public LibraryOrClasspath libraryOrClasspath;
+
+ @Parameters(name = "{0} {1}")
public static List<Object[]> data() {
return buildParameters(
- getTestParameters().withAllRuntimes().withAllApiLevelsAlsoForCf().build());
+ getTestParameters().withAllRuntimes().withAllApiLevelsAlsoForCf().build(),
+ LibraryOrClasspath.values());
}
private static final String EXPECTED_OUTPUT =
@@ -53,7 +66,14 @@
public void testR8() throws Exception {
testForR8(parameters.getBackend())
.addLibraryFiles(ToolHelper.getAndroidJar(AndroidApiLevel.S))
- .addLibraryClasses(LIBRARY_CLASSES)
+ .apply(
+ b -> {
+ if (libraryOrClasspath.isLibrary()) {
+ b.addLibraryClasses(LIBRARY_CLASSES);
+ } else {
+ b.addClasspathClasses(LIBRARY_CLASSES);
+ }
+ })
.addProgramClasses(PROGRAM_CLASSES)
.addKeepMainRule(TestClass.class)
.setMinApi(parameters.getApiLevel())