Avoid overloading methods for keep rules and keep-rule files in tests.
Change-Id: I0055d825019ca103c8eb5440af3181363a3ea647
diff --git a/src/test/java/com/android/tools/r8/ProguardTestBuilder.java b/src/test/java/com/android/tools/r8/ProguardTestBuilder.java
index 109b42d..0743f18 100644
--- a/src/test/java/com/android/tools/r8/ProguardTestBuilder.java
+++ b/src/test/java/com/android/tools/r8/ProguardTestBuilder.java
@@ -202,6 +202,18 @@
}
@Override
+ public ProguardTestBuilder addKeepRuleFiles(List<Path> files) {
+ try {
+ for (Path file : files) {
+ config.addAll(FileUtils.readAllLines(file));
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return self();
+ }
+
+ @Override
public ProguardTestBuilder addKeepRules(Collection<String> rules) {
config.addAll(rules);
return self();
diff --git a/src/test/java/com/android/tools/r8/R8TestBuilder.java b/src/test/java/com/android/tools/r8/R8TestBuilder.java
index 8afe46b..2c72ec7 100644
--- a/src/test/java/com/android/tools/r8/R8TestBuilder.java
+++ b/src/test/java/com/android/tools/r8/R8TestBuilder.java
@@ -10,6 +10,7 @@
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.utils.AndroidApp;
import com.android.tools.r8.utils.InternalOptions;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -74,6 +75,12 @@
}
@Override
+ public R8TestBuilder addKeepRuleFiles(List<Path> files) {
+ builder.addProguardConfigurationFiles(files);
+ return self();
+ }
+
+ @Override
public R8TestBuilder addKeepRules(Collection<String> rules) {
builder.addProguardConfiguration(new ArrayList<>(rules), Origin.unknown());
return self();
diff --git a/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java b/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
index e7e91e0..42b56ca 100644
--- a/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
@@ -7,12 +7,12 @@
import com.android.tools.r8.TestBase.Backend;
import com.android.tools.r8.references.MethodReference;
import com.android.tools.r8.references.TypeReference;
-import com.android.tools.r8.utils.FileUtils;
import com.android.tools.r8.utils.StringUtils;
import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Collection;
+import java.util.List;
public abstract class TestShrinkerBuilder<
C extends BaseCompilerCommand,
@@ -30,8 +30,10 @@
public abstract T noMinification();
- public T addKeepRules(Path path) throws IOException {
- return addKeepRules(FileUtils.readAllLines(path));
+ public abstract T addKeepRuleFiles(List<Path> files);
+
+ public T addKeepRuleFiles(Path... files) throws IOException {
+ return addKeepRuleFiles(Arrays.asList(files));
}
public abstract T addKeepRules(Collection<String> rules);
diff --git a/src/test/java/com/android/tools/r8/shaking/proxy/MockitoTest.java b/src/test/java/com/android/tools/r8/shaking/proxy/MockitoTest.java
index 48cdb05..95963a0 100644
--- a/src/test/java/com/android/tools/r8/shaking/proxy/MockitoTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/proxy/MockitoTest.java
@@ -48,7 +48,7 @@
Path flagToKeepTestRunner = Paths.get(ToolHelper.EXAMPLES_DIR, M_I_PKG, "keep-rules.txt");
R8TestBuilder builder = testForR8(backend)
.addProgramFiles(MOCKITO_INTERFACE_JAR)
- .addKeepRules(flagToKeepTestRunner);
+ .addKeepRuleFiles(flagToKeepTestRunner);
if (!minify) {
builder.noMinification();
}
@@ -65,7 +65,7 @@
Paths.get(ToolHelper.EXAMPLES_DIR, M_I_PKG, "keep-rules-conditional-on-mock.txt");
R8TestBuilder builder = testForR8(backend)
.addProgramFiles(MOCKITO_INTERFACE_JAR)
- .addKeepRules(flagToKeepInterfaceConditionally);
+ .addKeepRuleFiles(flagToKeepInterfaceConditionally);
if (!minify) {
builder.noMinification();
}