Update API tests for missing output issue.
This also parameterizes the test runners.
Change-Id: Idaac5ddbfbef3ee79f9060ab351bd9d887571451
diff --git a/src/test/apiUsageSample/com/android/tools/apiusagesample/R8ApiUsageSample.java b/src/test/apiUsageSample/com/android/tools/apiusagesample/R8ApiUsageSample.java
index 8f57473..2061722 100644
--- a/src/test/apiUsageSample/com/android/tools/apiusagesample/R8ApiUsageSample.java
+++ b/src/test/apiUsageSample/com/android/tools/apiusagesample/R8ApiUsageSample.java
@@ -409,8 +409,9 @@
try {
R8.run(
R8Command.builder(handler)
+ .setDisableTreeShaking(true)
.setMinApiLevel(minApiLevel)
- .setProgramConsumer(new R8ApiUsageSample.EnsureOutputConsumer())
+ .setProgramConsumer(new EnsureOutputConsumer())
.addLibraryFiles(libraries)
.addProgramFiles(inputs)
.addAssertionsConfiguration(b -> b.setScopeAll().setEnable().build())
diff --git a/src/test/java/com/android/tools/r8/D8ApiBinaryCompatibilityTests.java b/src/test/java/com/android/tools/r8/D8ApiBinaryCompatibilityTests.java
index c5e44a3..9c3d9c4 100644
--- a/src/test/java/com/android/tools/r8/D8ApiBinaryCompatibilityTests.java
+++ b/src/test/java/com/android/tools/r8/D8ApiBinaryCompatibilityTests.java
@@ -4,7 +4,9 @@
package com.android.tools.r8;
import static com.android.tools.r8.utils.FileUtils.JAR_EXTENSION;
+import static org.junit.Assert.assertEquals;
+import com.android.tools.r8.TestRuntime.NoneRuntime;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.FileUtils;
@@ -16,14 +18,22 @@
import java.util.List;
import java.util.stream.Collectors;
import org.junit.Assert;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
-public class D8ApiBinaryCompatibilityTests {
+@RunWith(Parameterized.class)
+public class D8ApiBinaryCompatibilityTests extends TestBase {
- @Rule
- public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
+ @Parameters(name = "{0}")
+ public static TestParametersCollection data() {
+ return getTestParameters().withNoneRuntime().build();
+ }
+
+ public D8ApiBinaryCompatibilityTests(TestParameters parameters) {
+ assertEquals(NoneRuntime.getInstance(), parameters.getRuntime());
+ }
@Test
public void testCompatibility() throws IOException {
@@ -79,7 +89,7 @@
ProcessBuilder builder = new ProcessBuilder(command);
ProcessResult result = ToolHelper.runProcess(builder);
- Assert.assertEquals(result.stderr + "\n" + result.stdout, 0, result.exitCode);
+ assertEquals(result.stderr + "\n" + result.stdout, 0, result.exitCode);
Assert.assertTrue(result.stdout, result.stdout.isEmpty());
Assert.assertTrue(result.stderr, result.stderr.isEmpty());
}
diff --git a/src/test/java/com/android/tools/r8/R8ApiBinaryCompatibilityTests.java b/src/test/java/com/android/tools/r8/R8ApiBinaryCompatibilityTests.java
index 79017bc..b9676d5 100644
--- a/src/test/java/com/android/tools/r8/R8ApiBinaryCompatibilityTests.java
+++ b/src/test/java/com/android/tools/r8/R8ApiBinaryCompatibilityTests.java
@@ -6,6 +6,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import com.android.tools.r8.TestRuntime.NoneRuntime;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.FileUtils;
@@ -16,17 +17,26 @@
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
-public class R8ApiBinaryCompatibilityTests {
+@RunWith(Parameterized.class)
+public class R8ApiBinaryCompatibilityTests extends TestBase {
static final Path JAR = Paths.get("tests", "r8_api_usage_sample.jar");
static final String MAIN = "com.android.tools.apiusagesample.R8ApiUsageSample";
static final AndroidApiLevel MIN_API = AndroidApiLevel.K;
- @Rule public TemporaryFolder temp = ToolHelper.getTemporaryFolderForTest();
+ @Parameters(name = "{0}")
+ public static TestParametersCollection data() {
+ return getTestParameters().withNoneRuntime().build();
+ }
+
+ public R8ApiBinaryCompatibilityTests(TestParameters parameters) {
+ assertEquals(NoneRuntime.getInstance(), parameters.getRuntime());
+ }
@Test
public void testCompatibility() throws IOException {