Enable CF on LibraryProvidedProguardRulesTest.
Change-Id: I3d7d2b798f1fdba33998850b6cecc031aa728912
diff --git a/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTest.java b/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTest.java
index c6ccc61..a70f284 100644
--- a/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTest.java
@@ -14,6 +14,7 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import com.android.tools.r8.ClassFileConsumer;
import com.android.tools.r8.CompilationFailedException;
import com.android.tools.r8.DataResourceProvider;
import com.android.tools.r8.DexIndexedConsumer;
@@ -39,12 +40,16 @@
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.jar.JarOutputStream;
import java.util.zip.ZipEntry;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
class A {
private static String buildClassName(String className) {
@@ -65,7 +70,20 @@
}
+@RunWith(Parameterized.class)
public class LibraryProvidedProguardRulesTest extends TestBase {
+
+ private Backend backend;
+
+ @Parameters(name = "Backend: {0}")
+ public static Collection<Backend> data() {
+ return Arrays.asList(Backend.values());
+ }
+
+ public LibraryProvidedProguardRulesTest(Backend backend) {
+ this.backend = backend;
+ }
+
private void addTextJarEntry(JarOutputStream out, String name, String content) throws Exception {
out.putNextEntry(new ZipEntry(name));
ByteStreams.copy(
@@ -84,11 +102,19 @@
}
try {
- R8Command command = (handler != null ? R8Command.builder(handler) : R8Command.builder())
- .addProgramFiles(jar)
- .setProgramConsumer(DexIndexedConsumer.emptyConsumer())
- .build();
- return ToolHelper.runR8(command);
+ R8Command.Builder builder =
+ (handler != null ? R8Command.builder(handler) : R8Command.builder()).addProgramFiles(jar);
+ if (backend == Backend.DEX) {
+ builder
+ .setProgramConsumer(DexIndexedConsumer.emptyConsumer())
+ .addLibraryFiles(ToolHelper.getDefaultAndroidJar());
+ } else {
+ assert backend == Backend.CF;
+ builder
+ .setProgramConsumer(ClassFileConsumer.emptyConsumer())
+ .addLibraryFiles(ToolHelper.getJava8RuntimeJar());
+ }
+ return ToolHelper.runR8(builder.build());
} catch (CompilationFailedException e) {
assertNotNull(handler);
return null;
@@ -186,10 +212,19 @@
public void throwingDataResourceProvider() throws Exception {
DiagnosticsChecker checker = new DiagnosticsChecker();
try {
- R8Command command = R8Command.builder(checker)
- .addProgramResourceProvider(new TestProvider())
- .setProgramConsumer(DexIndexedConsumer.emptyConsumer())
- .build();
+ R8Command.Builder builder =
+ R8Command.builder(checker).addProgramResourceProvider(new TestProvider());
+ if (backend == Backend.DEX) {
+ builder
+ .setProgramConsumer(DexIndexedConsumer.emptyConsumer())
+ .addLibraryFiles(ToolHelper.getDefaultAndroidJar());
+ } else {
+ assert backend == Backend.CF;
+ builder
+ .setProgramConsumer(ClassFileConsumer.emptyConsumer())
+ .addLibraryFiles(ToolHelper.getJava8RuntimeJar());
+ }
+ builder.build();
fail("Should not succeed");
} catch (CompilationFailedException e) {
DiagnosticsChecker.checkDiagnostic(