summaryrefslogtreecommitdiffstats
path: root/jack-tests
diff options
context:
space:
mode:
authorJean-Marie Henaff <jmhenaff@google.com>2015-05-11 17:54:05 +0200
committerJean-Marie Henaff <jmhenaff@google.com>2015-05-12 11:14:06 +0200
commita18689e31b6c26e62a457f9976de4d72a6ba197c (patch)
tree97787e2872913c2abea656d12c33a3b6d4b8f03f /jack-tests
parentdc6de5d3bbbc226aba567add67781fc10befb333 (diff)
downloadtoolchain_jack-a18689e31b6c26e62a457f9976de4d72a6ba197c.tar.gz
toolchain_jack-a18689e31b6c26e62a457f9976de4d72a6ba197c.tar.bz2
toolchain_jack-a18689e31b6c26e62a457f9976de4d72a6ba197c.zip
Modify Api01Config and Jack to support multiple Jarjar config files
Bug: 20913411 (cherry picked from commit 517dec6fa299a3755f38681b3fcea387c84873f0) Change-Id: If9c1e8f827e8ed3fd68c4999a8700608a95ce7c9
Diffstat (limited to 'jack-tests')
-rw-r--r--jack-tests/src/com/android/jack/test/helper/RuntimeTestHelper.java6
-rw-r--r--jack-tests/src/com/android/jack/test/helper/SourceToDexComparisonTestHelper.java5
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/IToolchain.java2
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java6
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java8
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java7
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java7
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/Toolchain.java6
-rw-r--r--jack-tests/tests/com/android/jack/jarjar/JarjarTests.java3
-rw-r--r--jack-tests/tests/com/android/jack/noclasspath/NoClasspathTest.java7
-rw-r--r--jack-tests/tests/com/android/jack/toolchain/ToolchainTest.java3
11 files changed, 36 insertions, 24 deletions
diff --git a/jack-tests/src/com/android/jack/test/helper/RuntimeTestHelper.java b/jack-tests/src/com/android/jack/test/helper/RuntimeTestHelper.java
index 8cdc1dbc..38e74c48 100644
--- a/jack-tests/src/com/android/jack/test/helper/RuntimeTestHelper.java
+++ b/jack-tests/src/com/android/jack/test/helper/RuntimeTestHelper.java
@@ -194,7 +194,7 @@ public class RuntimeTestHelper {
new File(testBinaryDir, helper.getCandidateDex().getName()));
} else {
if (jarjarRules != null) {
- candidateTestTools.setJarjarRules(jarjarRules);
+ candidateTestTools.setJarjarRules(Collections.singletonList(jarjarRules));
}
candidateTestTools.addProguardFlags(proguargFlags.toArray(new File [proguargFlags.size()]));
candidateTestTools.addToClasspath(candidateClassPath)
@@ -220,7 +220,9 @@ public class RuntimeTestHelper {
if (getLinkSrc().length != 0) {
File linkBinaryDir = AbstractTestTools.createTempDir();
linkBinary = new File(linkBinaryDir, candidateTestTools.getBinaryFileName());
- candidateTestTools.setJarjarRules(jarjarRules);
+ if (jarjarRules != null) {
+ candidateTestTools.setJarjarRules(Collections.singletonList(jarjarRules));
+ }
candidateTestTools.addProguardFlags(proguargFlags.toArray(new File [proguargFlags.size()]));
candidateTestTools.addToClasspath(candidateBootClasspath)
.srcToExe(linkBinaryDir, /* zipFile = */ false, getLinkSrc());
diff --git a/jack-tests/src/com/android/jack/test/helper/SourceToDexComparisonTestHelper.java b/jack-tests/src/com/android/jack/test/helper/SourceToDexComparisonTestHelper.java
index 15dc16aa..e8d7f7e8 100644
--- a/jack-tests/src/com/android/jack/test/helper/SourceToDexComparisonTestHelper.java
+++ b/jack-tests/src/com/android/jack/test/helper/SourceToDexComparisonTestHelper.java
@@ -22,6 +22,7 @@ import com.android.jack.test.toolchain.AndroidToolchain;
import com.android.jack.test.toolchain.Toolchain.SourceLevel;
import java.io.File;
+import java.util.Collections;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
@@ -170,7 +171,7 @@ public class SourceToDexComparisonTestHelper extends GenericComparisonTestHelper
@Nonnull
protected void executeCandidateToolchain() throws Exception {
if (jarjarRulesFile != null) {
- candidateTestTools.setJarjarRules(jarjarRulesFile);
+ candidateTestTools.setJarjarRules(Collections.singletonList(jarjarRulesFile));
}
candidateTestTools.setWithDebugInfos(withDebugInfos);
candidateTestTools.setSourceLevel(sourceLevel);
@@ -184,7 +185,7 @@ public class SourceToDexComparisonTestHelper extends GenericComparisonTestHelper
@Nonnull
protected void executeReferenceToolchain() throws Exception {
if (jarjarRulesFile != null) {
- referenceTestTools.setJarjarRules(jarjarRulesFile);
+ referenceTestTools.setJarjarRules(Collections.singletonList(jarjarRulesFile));
}
referenceTestTools.setWithDebugInfos(withDebugInfos);
referenceTestTools.setSourceLevel(sourceLevel);
diff --git a/jack-tests/src/com/android/jack/test/toolchain/IToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/IToolchain.java
index fb97ef6c..5ad998e5 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/IToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/IToolchain.java
@@ -78,7 +78,7 @@ public interface IToolchain {
IToolchain addProguardFlags(@Nonnull File... proguardFlags);
@Nonnull
- IToolchain setJarjarRules(@Nonnull File jarjarRules);
+ IToolchain setJarjarRules(@Nonnull List<File> jarjarRules);
@Nonnull
IToolchain setOutputStream(@Nonnull OutputStream outputStream);
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java
index 133ff819..5593472a 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java
@@ -185,8 +185,8 @@ public class JackApiV01Toolchain extends JackApiToolchainBase {
apiV01Config.setSourceEntries(Lists.newArrayList(sources));
apiV01Config.setResourceDirs(resImport);
apiV01Config.setProguardConfigFiles(proguardFlags);
- if (jarjarRules != null) {
- apiV01Config.setJarJarConfigFile(jarjarRules);
+ if (!jarjarRules.isEmpty()) {
+ apiV01Config.setJarJarConfigFiles(jarjarRules);
}
apiV01Config.setProcessorOptions(annotationProcessorOptions);
@@ -212,7 +212,7 @@ public class JackApiV01Toolchain extends JackApiToolchainBase {
apiV01Config.setResourceDirs(resImport);
apiV01Config.setProguardConfigFiles(proguardFlags);
if (jarjarRules != null) {
- apiV01Config.setJarJarConfigFile(jarjarRules);
+ apiV01Config.setJarJarConfigFiles(jarjarRules);
}
}
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
index b8d565b1..fdcfedcb 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
@@ -165,9 +165,9 @@ public class JackCliToolchain extends JackBasedToolchain {
args.addAll(extraJackArgs);
- if (jarjarRules != null) {
+ for (File jarjarFile : jarjarRules) {
args.add("--config-jarjar");
- args.add(jarjarRules.getAbsolutePath());
+ args.add(jarjarFile.getAbsolutePath());
}
for (File flags : proguardFlags) {
@@ -273,9 +273,9 @@ public class JackCliToolchain extends JackBasedToolchain {
args.add(classpath);
}
- if (jarjarRules != null) {
+ for (File jarjarFile : jarjarRules) {
args.add("--config-jarjar");
- args.add(jarjarRules.getAbsolutePath());
+ args.add(jarjarFile.getAbsolutePath());
}
for (File flags : proguardFlags) {
diff --git a/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java
index 6684769b..8592ee68 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java
@@ -129,8 +129,11 @@ public class LegacyJillToolchain extends JillBasedToolchain {
AbstractTestTools.createjar(jarFile, classesDir);
- if (jarjarRules != null) {
- processWithJarJar(jarjarRules, jarFile, jarFileJarjar);
+ if (jarjarRules.size() > 0) {
+ if (jarjarRules.size() > 1) {
+ throw new AssertionError("Not yet supported");
+ }
+ processWithJarJar(jarjarRules.get(0), jarFile, jarFileJarjar);
} else {
jarFileJarjar = jarFile;
}
diff --git a/jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java
index 512dae6d..5bcf2266 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java
@@ -65,8 +65,11 @@ public class LegacyToolchain extends AndroidToolchain {
srcToLib(jarFile, true /* zipFiles = */, sources);
- if (jarjarRules != null) {
- processWithJarJar(jarjarRules, jarFile, jarFileJarjar);
+ if (jarjarRules.size() > 0) {
+ if (jarjarRules.size() > 1) {
+ throw new AssertionError("Not yet supported");
+ }
+ processWithJarJar(jarjarRules.get(0), jarFile, jarFileJarjar);
} else {
jarFileJarjar = jarFile;
}
diff --git a/jack-tests/src/com/android/jack/test/toolchain/Toolchain.java b/jack-tests/src/com/android/jack/test/toolchain/Toolchain.java
index 131b055d..9fd3cfdd 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/Toolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/Toolchain.java
@@ -55,8 +55,8 @@ public abstract class Toolchain implements IToolchain {
protected List<File> staticLibs = Collections.emptyList();
@Nonnull
protected List<File> proguardFlags = Collections.emptyList();
- @CheckForNull
- protected File jarjarRules;
+ @Nonnull
+ protected List<File> jarjarRules = Collections.emptyList();
@Nonnull
protected PrintStream stdOut = System.out;
@@ -149,7 +149,7 @@ public abstract class Toolchain implements IToolchain {
@Override
@Nonnull
- public final Toolchain setJarjarRules(@Nonnull File jarjarRules) {
+ public final Toolchain setJarjarRules(@Nonnull List<File> jarjarRules) {
this.jarjarRules = jarjarRules;
return this;
}
diff --git a/jack-tests/tests/com/android/jack/jarjar/JarjarTests.java b/jack-tests/tests/com/android/jack/jarjar/JarjarTests.java
index a5cc2160..ed58f658 100644
--- a/jack-tests/tests/com/android/jack/jarjar/JarjarTests.java
+++ b/jack-tests/tests/com/android/jack/jarjar/JarjarTests.java
@@ -67,7 +67,8 @@ public class JarjarTests {
@Test
public void jarjar003_1() throws Exception {
IToolchain toolchain = AbstractTestTools.getCandidateToolchain();
- toolchain.setJarjarRules(new File(JARJAR003.directory, "jarjar-rules.txt"));
+ toolchain.setJarjarRules(
+ Collections.singletonList(new File(JARJAR003.directory, "jarjar-rules.txt")));
File lib = AbstractTestTools.createTempFile("jarjarTest003Jack", toolchain.getLibraryExtension());
toolchain.addToClasspath(toolchain.getDefaultBootClasspath())
.srcToLib(
diff --git a/jack-tests/tests/com/android/jack/noclasspath/NoClasspathTest.java b/jack-tests/tests/com/android/jack/noclasspath/NoClasspathTest.java
index 4fa7fe36..1e3c6393 100644
--- a/jack-tests/tests/com/android/jack/noclasspath/NoClasspathTest.java
+++ b/jack-tests/tests/com/android/jack/noclasspath/NoClasspathTest.java
@@ -32,6 +32,7 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import java.io.File;
+import java.util.Collections;
@Ignore("Tree")
@Category(SlowTests.class)
@@ -124,7 +125,7 @@ public class NoClasspathTest {
File conscyptRules =
new JarJarRules(TestTools.getFromAndroidTree("external/conscrypt/jarjar-rules.txt"));
toolchain = AbstractTestTools.getCandidateToolchain(JackBasedToolchain.class);
- toolchain.setJarjarRules(conscyptRules);
+ toolchain.setJarjarRules(Collections.singletonList(conscyptRules));
toolchain.libToLib(conscryptJack, conscryptRenamedJack, /* zipFiles = */ true);
File okhttpJack = AbstractTestTools.createTempFile("okkttp", ".jack");
@@ -137,7 +138,7 @@ public class NoClasspathTest {
File okhttpRules =
new JarJarRules(TestTools.getFromAndroidTree("external/okhttp/jarjar-rules.txt"));
toolchain = AbstractTestTools.getCandidateToolchain(JackBasedToolchain.class);
- toolchain.setJarjarRules(okhttpRules);
+ toolchain.setJarjarRules(Collections.singletonList(okhttpRules));
toolchain.libToLib(okhttpJack, okhttpRenamedJack, /* zipFiles = */ true);
File extJack = AbstractTestTools.createTempFile("ext", ".jack");
@@ -159,7 +160,7 @@ public class NoClasspathTest {
File jarjarRules =
new JarJarRules(TestTools.getFromAndroidTree("external/bouncycastle/jarjar-rules.txt"));
toolchain = AbstractTestTools.getCandidateToolchain(JackBasedToolchain.class);
- toolchain.setJarjarRules(jarjarRules);
+ toolchain.setJarjarRules(Collections.singletonList(jarjarRules));
toolchain.libToLib(bouncyCastleJack, bouncyCastleRenamedJack, /* zipFiles = */ true);
File[] classpath = new File[] {coreOut,
diff --git a/jack-tests/tests/com/android/jack/toolchain/ToolchainTest.java b/jack-tests/tests/com/android/jack/toolchain/ToolchainTest.java
index c4ce4dfc..5fd70fb0 100644
--- a/jack-tests/tests/com/android/jack/toolchain/ToolchainTest.java
+++ b/jack-tests/tests/com/android/jack/toolchain/ToolchainTest.java
@@ -29,6 +29,7 @@ import org.junit.Test;
import java.io.File;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -154,7 +155,7 @@ public class ToolchainTest {
File jarjarTestRenamedOut = AbstractTestTools.createTempFile("jarjartestrenamed", ".jack");
File jarjarRules = new File(testFolder, "jarjar-rules.txt");
toolchain = AbstractTestTools.getCandidateToolchain(AndroidToolchain.class);
- toolchain.setJarjarRules(jarjarRules);
+ toolchain.setJarjarRules(Collections.singletonList(jarjarRules));
toolchain.libToLib(jarjarTestJackOut, jarjarTestRenamedOut, /* zipFiles = */ true);
File jarjarTestDexOutFolder = AbstractTestTools.createTempDir();