Revisit test parameter creations.
Change-Id: I261602c5aeef09c2a9601dbe9320cb63885087d9
diff --git a/src/main/java/com/android/tools/r8/utils/BooleanUtils.java b/src/main/java/com/android/tools/r8/utils/BooleanUtils.java
new file mode 100644
index 0000000..bacea6f
--- /dev/null
+++ b/src/main/java/com/android/tools/r8/utils/BooleanUtils.java
@@ -0,0 +1,13 @@
+// Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package com.android.tools.r8.utils;
+
+public class BooleanUtils {
+
+ private static final Boolean[] VALUES = new Boolean[] { Boolean.TRUE, Boolean.FALSE };
+
+ public static Boolean[] values() {
+ return VALUES;
+ }
+}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/B116282409.java b/src/test/java/com/android/tools/r8/ir/optimize/B116282409.java
index 6fe1f16..6008aab 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/B116282409.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/B116282409.java
@@ -19,6 +19,7 @@
import com.android.tools.r8.jasmin.JasminTestBase;
import com.android.tools.r8.utils.AbortException;
import com.android.tools.r8.utils.AndroidApp;
+import com.android.tools.r8.utils.BooleanUtils;
import com.google.common.collect.ImmutableList;
import java.util.Arrays;
import java.util.Collection;
@@ -44,11 +45,7 @@
@Parameters(name = "Backend: {0}, vertical class merging: {1}")
public static Collection<Object[]> data() {
- return ImmutableList.of(
- new Object[] {Backend.CF, false},
- new Object[] {Backend.CF, true},
- new Object[] {Backend.DEX, false},
- new Object[] {Backend.DEX, true});
+ return buildParameters(Backend.values(), BooleanUtils.values());
}
public B116282409(Backend backend, boolean enableVerticalClassMerging) {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java b/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
index e1167b9..c9e5f1e 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
@@ -15,6 +15,7 @@
import com.android.tools.r8.graph.DexMethod;
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.utils.AndroidApiLevel;
+import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.FileUtils;
import com.android.tools.r8.utils.ZipUtils;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -27,7 +28,6 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
@@ -49,15 +49,11 @@
@Parameters(name = "{0}, backend={1}, minification={2}, allowaccessmodification={3}")
public static Collection<Object[]> data() {
- List<Object[]> configs = new ArrayList<>();
- for (Backend backend : Backend.values()) {
- for (boolean minification : new Boolean[] {false, true}) {
- for (boolean allowaccessmodification : new Boolean[] {false, true}) {
- configs.add(new Object[] {"Inlining", backend, minification, allowaccessmodification});
- }
- }
- }
- return configs;
+ return buildParameters(
+ ImmutableList.of("Inlining"),
+ Backend.values(),
+ BooleanUtils.values(),
+ BooleanUtils.values());
}
private final String name;
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/reflection/GetNameTestBase.java b/src/test/java/com/android/tools/r8/ir/optimize/reflection/GetNameTestBase.java
index e8ed51f..ef7a07b 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/reflection/GetNameTestBase.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/reflection/GetNameTestBase.java
@@ -5,8 +5,8 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.graph.DexMethod;
+import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.codeinspector.MethodSubject;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.Streams;
import java.util.Collection;
import org.junit.runner.RunWith;
@@ -22,12 +22,7 @@
@Parameterized.Parameters(name = "Backend: {0} minification: {1}")
public static Collection<Object[]> data() {
- ImmutableList.Builder<Object[]> builder = new ImmutableList.Builder<>();
- for (Backend backend : Backend.values()) {
- builder.add(new Object[]{backend, Boolean.TRUE});
- builder.add(new Object[]{backend, Boolean.FALSE});
- }
- return builder.build();
+ return buildParameters(Backend.values(), BooleanUtils.values());
}
GetNameTestBase(Backend backend, boolean enableMinification) {
diff --git a/src/test/java/com/android/tools/r8/kotlin/AbstractR8KotlinTestBase.java b/src/test/java/com/android/tools/r8/kotlin/AbstractR8KotlinTestBase.java
index b76e947..9380115 100644
--- a/src/test/java/com/android/tools/r8/kotlin/AbstractR8KotlinTestBase.java
+++ b/src/test/java/com/android/tools/r8/kotlin/AbstractR8KotlinTestBase.java
@@ -22,6 +22,7 @@
import com.android.tools.r8.naming.MemberNaming.MethodSignature;
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.utils.AndroidApp;
+import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.DescriptorUtils;
import com.android.tools.r8.utils.FileUtils;
import com.android.tools.r8.utils.InternalOptions;
@@ -59,12 +60,7 @@
@Parameters(name = "allowAccessModification: {0} target: {1}")
public static Collection<Object[]> data() {
- ImmutableList.Builder<Object[]> builder = new ImmutableList.Builder<>();
- for (KotlinTargetVersion targetVersion : KotlinTargetVersion.values()) {
- builder.add(new Object[]{Boolean.TRUE, targetVersion});
- builder.add(new Object[]{Boolean.FALSE, targetVersion});
- }
- return builder.build();
+ return buildParameters(BooleanUtils.values(), KotlinTargetVersion.values());
}
protected void addExtraClasspath(Path path) {
diff --git a/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java b/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
index 7d73d8f..1d3f25e 100644
--- a/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
@@ -8,8 +8,8 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeTrue;
-import com.android.tools.r8.ToolHelper.KotlinTargetVersion;
import com.android.tools.r8.code.NewInstance;
import com.android.tools.r8.code.SgetObject;
import com.android.tools.r8.graph.DexClass;
@@ -20,28 +20,17 @@
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
import com.android.tools.r8.utils.codeinspector.MethodSubject;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.google.common.collect.Streams;
-import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.junit.Test;
-import org.junit.runners.Parameterized.Parameters;
public class KotlinClassInlinerTest extends AbstractR8KotlinTestBase {
- @Parameters(name = "allowAccessModification: {0} target: {1}")
- public static Collection<Object[]> data() {
- ImmutableList.Builder<Object[]> builder = new ImmutableList.Builder<>();
- for (KotlinTargetVersion targetVersion : KotlinTargetVersion.values()) {
- builder.add(new Object[]{Boolean.TRUE, targetVersion});
- }
- return builder.build();
- }
private static boolean isLambda(DexClass clazz) {
return !clazz.type.getPackageDescriptor().startsWith("kotlin") &&
@@ -67,6 +56,7 @@
@Test
public void testJStyleLambdas() throws Exception {
+ assumeTrue("Only work with -allowaccessmodification", allowAccessModification);
final String mainClassName = "class_inliner_lambda_j_style.MainKt";
runTest("class_inliner_lambda_j_style", mainClassName, false, (app) -> {
CodeInspector inspector = new CodeInspector(app);
@@ -112,6 +102,7 @@
@Test
public void testKStyleLambdas() throws Exception {
+ assumeTrue("Only work with -allowaccessmodification", allowAccessModification);
final String mainClassName = "class_inliner_lambda_k_style.MainKt";
runTest("class_inliner_lambda_k_style", mainClassName, false, (app) -> {
CodeInspector inspector = new CodeInspector(app);
@@ -186,6 +177,7 @@
@Test
public void testDataClass() throws Exception {
+ assumeTrue("Only work with -allowaccessmodification", allowAccessModification);
final String mainClassName = "class_inliner_data_class.MainKt";
runTest("class_inliner_data_class", mainClassName, true, (app) -> {
CodeInspector inspector = new CodeInspector(app);
diff --git a/src/test/java/com/android/tools/r8/kotlin/KotlinClassStaticizerTest.java b/src/test/java/com/android/tools/r8/kotlin/KotlinClassStaticizerTest.java
index c19b80e..ced08f5 100644
--- a/src/test/java/com/android/tools/r8/kotlin/KotlinClassStaticizerTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/KotlinClassStaticizerTest.java
@@ -7,28 +7,18 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeTrue;
-import com.android.tools.r8.ToolHelper.KotlinTargetVersion;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
-import com.google.common.collect.ImmutableList;
-import java.util.Collection;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
-import org.junit.runners.Parameterized.Parameters;
public class KotlinClassStaticizerTest extends AbstractR8KotlinTestBase {
- @Parameters(name = "allowAccessModification: {0} target: {1}")
- public static Collection<Object[]> data() {
- ImmutableList.Builder<Object[]> builder = new ImmutableList.Builder<>();
- for (KotlinTargetVersion targetVersion : KotlinTargetVersion.values()) {
- builder.add(new Object[]{Boolean.TRUE, targetVersion});
- }
- return builder.build();
- }
@Test
public void testCompanionAndRegularObjects() throws Exception {
+ assumeTrue("Only work with -allowaccessmodification", allowAccessModification);
final String mainClassName = "class_staticizer.MainKt";
// Without class staticizer.
diff --git a/src/test/java/com/android/tools/r8/kotlin/MetadataStripTest.java b/src/test/java/com/android/tools/r8/kotlin/MetadataStripTest.java
index 2abc1ed..1ab3147 100644
--- a/src/test/java/com/android/tools/r8/kotlin/MetadataStripTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/MetadataStripTest.java
@@ -47,13 +47,7 @@
@Parameterized.Parameters(name = "Backend: {0} target: {1}")
public static Collection<Object[]> data() {
- ImmutableList.Builder<Object[]> builder = new ImmutableList.Builder<>();
- for (Backend backend : Backend.values()) {
- for (KotlinTargetVersion targetVersion : KotlinTargetVersion.values()) {
- builder.add(new Object[]{backend, targetVersion});
- }
- }
- return builder.build();
+ return buildParameters(Backend.values(), KotlinTargetVersion.values());
}
public MetadataStripTest(Backend backend, KotlinTargetVersion targetVersion) {
diff --git a/src/test/java/com/android/tools/r8/naming/b114554345/B114554345.java b/src/test/java/com/android/tools/r8/naming/b114554345/B114554345.java
index 5e9b9c8..0d2ab3a 100644
--- a/src/test/java/com/android/tools/r8/naming/b114554345/B114554345.java
+++ b/src/test/java/com/android/tools/r8/naming/b114554345/B114554345.java
@@ -9,9 +9,6 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.utils.AndroidApp;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -22,13 +19,9 @@
private final Backend backend;
- @Parameters(name = "mode:{0}")
- public static Collection<Object[]> data() {
- List<Object[]> parameters = new ArrayList<>();
- for (Backend backend : Backend.values()) {
- parameters.add(new Object[] {backend});
- }
- return parameters;
+ @Parameters(name = "backend: {0}")
+ public static Backend[] data() {
+ return Backend.values();
}
public B114554345(Backend backend) {
diff --git a/src/test/java/com/android/tools/r8/naming/retrace/RetraceTest.java b/src/test/java/com/android/tools/r8/naming/retrace/RetraceTest.java
index e1c61c1..b110ead 100644
--- a/src/test/java/com/android/tools/r8/naming/retrace/RetraceTest.java
+++ b/src/test/java/com/android/tools/r8/naming/retrace/RetraceTest.java
@@ -22,7 +22,6 @@
import com.google.common.collect.ImmutableList;
import java.io.IOException;
import java.nio.file.Path;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -39,13 +38,7 @@
@Parameters(name = "Backend: {0}, mode: {1}")
public static Collection<Object[]> data() {
- List<Object[]> parameters = new ArrayList<>();
- for (Backend backend : Backend.values()) {
- for (CompilationMode mode : CompilationMode.values()) {
- parameters.add(new Object[] {backend, mode});
- }
- }
- return parameters;
+ return buildParameters(Backend.values(), CompilationMode.values());
}
public RetraceTest(Backend backend, CompilationMode mode) {
diff --git a/src/test/java/com/android/tools/r8/resource/KeepDirectoriesTest.java b/src/test/java/com/android/tools/r8/resource/KeepDirectoriesTest.java
index daf0bc2..ba79ec5 100644
--- a/src/test/java/com/android/tools/r8/resource/KeepDirectoriesTest.java
+++ b/src/test/java/com/android/tools/r8/resource/KeepDirectoriesTest.java
@@ -21,9 +21,9 @@
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.shaking.forceproguardcompatibility.ProguardCompatibilityTestBase;
import com.android.tools.r8.utils.AndroidApp;
+import com.android.tools.r8.utils.BooleanUtils;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Sets;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -50,13 +50,7 @@
@Parameterized.Parameters(name = "Backend: {0}, Minify: {1}")
public static Collection<Object[]> data() {
- List<Object[]> result = new ArrayList<>();
- for (Backend backend : Backend.values()) {
- for (boolean minify : new boolean[] {false, true}) {
- result.add(new Object[] {backend, minify});
- }
- }
- return result;
+ return buildParameters(Backend.values(), BooleanUtils.values());
}
public KeepDirectoriesTest(Backend backend, boolean minify) {
diff --git a/src/test/java/com/android/tools/r8/shaking/AtomicFieldUpdaterTest.java b/src/test/java/com/android/tools/r8/shaking/AtomicFieldUpdaterTest.java
index 7e262ee..8dcdd38 100644
--- a/src/test/java/com/android/tools/r8/shaking/AtomicFieldUpdaterTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/AtomicFieldUpdaterTest.java
@@ -15,9 +15,6 @@
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import java.io.File;
import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -29,13 +26,9 @@
private final Backend backend;
- @Parameters(name = "mode:{0}")
- public static Collection<Object[]> data() {
- List<Object[]> parameters = new ArrayList<>();
- for (Backend backend : Backend.values()) {
- parameters.add(new Object[] {backend});
- }
- return parameters;
+ @Parameters(name = "backend: {0}")
+ public static Backend[] data() {
+ return Backend.values();
}
public AtomicFieldUpdaterTest(Backend backend) {
diff --git a/src/test/java/com/android/tools/r8/shaking/ClassKindTest.java b/src/test/java/com/android/tools/r8/shaking/ClassKindTest.java
index 89cbbbe..5eba7b5 100644
--- a/src/test/java/com/android/tools/r8/shaking/ClassKindTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ClassKindTest.java
@@ -33,7 +33,7 @@
}
@Parameters(name = "{0}")
- public static Collection<Object[]> paramters() {
+ public static Collection<Object[]> parameters() {
return ImmutableList.copyOf(new Object[][]{
{"-keep interface *", ImmutableList.of(Interface.class)},
{"-keep class *", CLASSES_TO_INCLUDE},
diff --git a/src/test/java/com/android/tools/r8/shaking/EnclosingMethodTest.java b/src/test/java/com/android/tools/r8/shaking/EnclosingMethodTest.java
index bebe66f..afc319a 100644
--- a/src/test/java/com/android/tools/r8/shaking/EnclosingMethodTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/EnclosingMethodTest.java
@@ -8,6 +8,7 @@
import com.android.tools.r8.R8TestBuilder;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
+import com.android.tools.r8.utils.BooleanUtils;
import com.google.common.collect.ImmutableList;
import java.nio.file.Path;
import java.util.Collection;
@@ -48,12 +49,7 @@
@Parameterized.Parameters(name = "Backend: {0} minification: {1}")
public static Collection<Object[]> data() {
- ImmutableList.Builder<Object[]> builder = new ImmutableList.Builder<>();
- for (Backend backend : Backend.values()) {
- builder.add(new Object[]{backend, Boolean.TRUE});
- builder.add(new Object[]{backend, Boolean.FALSE});
- }
- return builder.build();
+ return buildParameters(Backend.values(), BooleanUtils.values());
}
public EnclosingMethodTest(Backend backend, boolean enableMinification) throws Exception {
diff --git a/src/test/java/com/android/tools/r8/shaking/NonVirtualOverrideTest.java b/src/test/java/com/android/tools/r8/shaking/NonVirtualOverrideTest.java
index 2490d41..4be2aaf 100644
--- a/src/test/java/com/android/tools/r8/shaking/NonVirtualOverrideTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/NonVirtualOverrideTest.java
@@ -20,6 +20,7 @@
import com.android.tools.r8.jasmin.JasminBuilder;
import com.android.tools.r8.jasmin.JasminBuilder.ClassBuilder;
import com.android.tools.r8.utils.AndroidApp;
+import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.DescriptorUtils;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -45,15 +46,7 @@
@Parameterized.Parameters(name = "Backend: {0}, class inlining: {1}, vertical class merging: {2}")
public static Collection<Object[]> data() {
- ImmutableList.Builder<Object[]> builder = ImmutableList.builder();
- for (Backend backend : Backend.values()) {
- for (boolean enableClassInlining : ImmutableList.of(true, false)) {
- for (boolean enableVerticalClassMerging : ImmutableList.of(true, false)) {
- builder.add(new Object[] {backend, enableClassInlining, enableVerticalClassMerging});
- }
- }
- }
- return builder.build();
+ return buildParameters(Backend.values(), BooleanUtils.values(), BooleanUtils.values());
}
public NonVirtualOverrideTest(
diff --git a/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java b/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
index 3b5a830..e5f3517 100644
--- a/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
@@ -8,6 +8,7 @@
import com.android.tools.r8.OutputMode;
import com.android.tools.r8.R8Command;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.shaking.PrintUsageTest.PrintUsageInspector.ClassSubject;
import com.android.tools.r8.utils.ListUtils;
@@ -39,12 +40,7 @@
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
-public class PrintUsageTest {
-
- private enum Backend {
- CF,
- DEX
- }
+public class PrintUsageTest extends TestBase {
private static final String PRINT_USAGE_FILE_SUFFIX = "-print-usage.txt";
diff --git a/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java b/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
index c268023..b302615 100644
--- a/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
@@ -7,7 +7,7 @@
import com.android.tools.r8.OutputMode;
import com.android.tools.r8.R8Command;
-import com.android.tools.r8.TestBase.MinifyMode;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ArtCommandBuilder;
import com.android.tools.r8.ToolHelper.ProcessResult;
@@ -44,7 +44,7 @@
* that calls {@link TreeShakingTest::runTest}, passing in the path to your keep rule file and
* lambdas to determine if the right bits of the application are kept or discarded.
*/
-public abstract class TreeShakingTest {
+public abstract class TreeShakingTest extends TestBase {
private Path proguardMap;
private Path out;
@@ -53,10 +53,6 @@
DEX, JAR
}
- protected enum Backend {
- DEX, CF
- }
-
private final String name;
private final String mainClass;
private final Frontend frontend;
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/inlining/IfRuleWithInlining.java b/src/test/java/com/android/tools/r8/shaking/ifrule/inlining/IfRuleWithInlining.java
index de981ae..6aa68de 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/inlining/IfRuleWithInlining.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/inlining/IfRuleWithInlining.java
@@ -13,6 +13,7 @@
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.shaking.forceproguardcompatibility.ProguardCompatibilityTestBase;
import com.android.tools.r8.utils.AndroidApp;
+import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.google.common.collect.ImmutableList;
@@ -61,11 +62,8 @@
@Parameters(name = "shrinker: {0} neverInlineMethod: {1}")
public static Collection<Object[]> data() {
// We don't run this on Proguard, as triggering inlining in Proguard is out of our control.
- return ImmutableList.of(
- new Object[] {Shrinker.R8, true},
- new Object[] {Shrinker.R8, false},
- new Object[] {Shrinker.R8_CF, true},
- new Object[] {Shrinker.R8_CF, false});
+ return buildParameters(
+ ImmutableList.of(Shrinker.R8, Shrinker.R8_CF), BooleanUtils.values());
}
private void check(AndroidApp app) throws Exception {
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
index f470aab..2d9027d 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
@@ -10,6 +10,7 @@
import com.android.tools.r8.NeverClassInline;
import com.android.tools.r8.TestBase;
+import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.StringUtils;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -77,11 +78,7 @@
@Parameters(name = "Backend: {0}, vertical class merging: {1}")
public static Collection<Object[]> data() {
// We don't run this on Proguard, as Proguard does not merge A into B.
- return ImmutableList.of(
- new Object[] {Backend.DEX, true},
- new Object[] {Backend.DEX, false},
- new Object[] {Backend.CF, true},
- new Object[] {Backend.CF, false});
+ return buildParameters(Backend.values(), BooleanUtils.values());
}
private void configure(InternalOptions options) {
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedTypeBaseTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedTypeBaseTest.java
index 10a5ba0..4fa2440 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedTypeBaseTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedTypeBaseTest.java
@@ -10,6 +10,7 @@
import static org.junit.Assert.assertEquals;
import com.android.tools.r8.TestBase;
+import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.google.common.collect.ImmutableList;
@@ -59,11 +60,7 @@
@Parameters(name = "Backend: {0}, vertical class merging: {1}")
public static Collection<Object[]> data() {
// We don't run this on Proguard, as Proguard does not merge A into B.
- return ImmutableList.of(
- new Object[] {Backend.DEX, true},
- new Object[] {Backend.DEX, false},
- new Object[] {Backend.CF, true},
- new Object[] {Backend.CF, false});
+ return buildParameters(Backend.values(), BooleanUtils.values());
}
public abstract Class<?> getTestClass();