Don't test dx output
These tests are validating that dx <> d8 behaviour was compatible
We no longer use dx for the baseline of anything, so removing these tests.
Bug: 185205222
Change-Id: I454c326d3ec6372fa7b511436ce1c59251b77613
diff --git a/src/test/java/com/android/tools/r8/code/NativeMethodWithCodeTest.java b/src/test/java/com/android/tools/r8/code/NativeMethodWithCodeTest.java
index af127e7..9a226ac 100644
--- a/src/test/java/com/android/tools/r8/code/NativeMethodWithCodeTest.java
+++ b/src/test/java/com/android/tools/r8/code/NativeMethodWithCodeTest.java
@@ -13,7 +13,6 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.ToolHelper.ProcessResult;
-import com.android.tools.r8.VmTestRunner;
import com.android.tools.r8.jasmin.JasminBuilder;
import com.android.tools.r8.jasmin.JasminBuilder.ClassBuilder;
import com.android.tools.r8.utils.AndroidApp;
@@ -25,7 +24,6 @@
import java.nio.file.Path;
import java.util.concurrent.ExecutionException;
import org.junit.Test;
-import org.junit.runner.RunWith;
public class NativeMethodWithCodeTest extends TestBase {
@@ -80,18 +78,9 @@
assertNotEquals(0, javaResult.exitCode);
assertThat(javaResult.stderr, containsString("ClassFormatError"));
- // DX strips code from native methods.
- Path dxOutputDir = temp.newFolder().toPath();
- Path dxOutputFile = dxOutputDir.resolve("classes.dex");
- ToolHelper.runDexer(inputJar.toString(), dxOutputDir.toString());
- AndroidApp dxApp = AndroidApp.builder().addProgramFiles(dxOutputFile).build();
- assertNull(getNativeMethod(mainClassName, dxApp).getMethod().getCode());
-
- // D8 should also strip code from native methods.
+ // D8 should strip code from native methods to be compatible with dx.
AndroidApp processedApp = compileWithD8(inputApp);
assertThat(getNativeMethod(mainClassName, processedApp), isPresent());
- // TODO(mathiasr): Consider making D8 maintain code on native methods.
- // If we do that, this assertNull should change to assertNotNull.
assertNull(getNativeMethod(mainClassName, processedApp).getMethod().getCode());
ProcessResult artResult = runOnArtRaw(processedApp, mainClassName);
diff --git a/src/test/java/com/android/tools/r8/graph/invokespecial/InvokeSpecialToVirtualMethodTest.java b/src/test/java/com/android/tools/r8/graph/invokespecial/InvokeSpecialToVirtualMethodTest.java
index 8b5ed7d..1b26ce0 100644
--- a/src/test/java/com/android/tools/r8/graph/invokespecial/InvokeSpecialToVirtualMethodTest.java
+++ b/src/test/java/com/android/tools/r8/graph/invokespecial/InvokeSpecialToVirtualMethodTest.java
@@ -67,17 +67,6 @@
.assertSuccessWithOutput(EXPECTED);
}
- @Test
- public void testDX() throws Exception {
- assumeTrue(parameters.isDexRuntime());
- testForDX()
- .addProgramClasses(Base.class, Bar.class, TestClass.class)
- .addProgramClassFileData(getFooTransform())
- .setMinApi(parameters)
- .run(parameters.getRuntime(), TestClass.class)
- .assertFailureWithErrorThatMatches(containsString(getExpectedOutput()));
- }
-
private String getExpectedOutput() {
if (parameters.getRuntime().asDex().getVm().getVersion().isOlderThanOrEqual(Version.V4_4_4)) {
return "VFY: unable to resolve direct method";
diff --git a/src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSetRegressionTest.java b/src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSetRegressionTest.java
index 689824f..f29b349 100644
--- a/src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSetRegressionTest.java
+++ b/src/test/java/com/android/tools/r8/jar/UnicodeSetRegression/UnicodeSetRegressionTest.java
@@ -16,7 +16,6 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
-import org.junit.ComparisonFailure;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
@@ -34,16 +33,6 @@
}
@Test
- public void testUnicodeSetFromDex() throws Throwable {
- Path combinedInput = temp.getRoot().toPath().resolve("all.zip");
- Path oatFile = temp.getRoot().toPath().resolve("all.oat");
- AndroidApp output =
- ToolHelper.runR8(dexFromDX(), options -> options.ignoreMissingClasses = true);
- output.write(combinedInput, OutputMode.DexIndexed);
- ToolHelper.runDex2Oat(combinedInput, oatFile);
- }
-
- @Test
public void testUnicodeSetFromJar() throws Throwable {
Path combinedInput = temp.getRoot().toPath().resolve("all.zip");
Path oatFile = temp.getRoot().toPath().resolve("all.oat");
@@ -60,9 +49,6 @@
try {
ToolHelper.runDex2Oat(combinedInput, oatFile);
} catch (AssertionError e) {
- AndroidApp fromDexApp =
- ToolHelper.runR8(dexFromDX(), options -> options.ignoreMissingClasses = true);
- CodeInspector fromDex = new CodeInspector(fromDexApp);
CodeInspector fromJar = new CodeInspector(result);
List<ArtErrorInfo> errors;
try {
@@ -75,14 +61,12 @@
throw e;
}
for (ArtErrorInfo error : errors.subList(0, errors.size() - 1)) {
- System.err.println(new ComparisonFailure(error.getMessage(),
- "REFERENCE\n" + error.dump(fromDex, false) + "\nEND REFERENCE",
- "PROCESSED\n" + error.dump(fromJar, true) + "\nEND PROCESSED").toString());
+ System.err.println(
+ error.getMessage() + "\nPROCESSED\n" + error.dump(fromJar, true) + "\nEND PROCESSED");
}
ArtErrorInfo error = errors.get(errors.size() - 1);
- throw new ComparisonFailure(error.getMessage(),
- "REFERENCE\n" + error.dump(fromDex, false) + "\nEND REFERENCE",
- "PROCESSED\n" + error.dump(fromJar, true) + "\nEND PROCESSED");
+ throw new RuntimeException(
+ error.getMessage() + "\nPROCESSED\n" + error.dump(fromJar, true) + "\nEND PROCESSED");
}
}
diff --git a/src/test/java/com/android/tools/r8/jasmin/BooleanByteConfusion.java b/src/test/java/com/android/tools/r8/jasmin/BooleanByteConfusion.java
index 561fa9b..378114e 100644
--- a/src/test/java/com/android/tools/r8/jasmin/BooleanByteConfusion.java
+++ b/src/test/java/com/android/tools/r8/jasmin/BooleanByteConfusion.java
@@ -15,8 +15,6 @@
String javaResult = runOnJava(builder, main);
String artResult = runOnArtD8(builder, main);
assertEquals(javaResult, artResult);
- String dxArtResult = runOnArtDx(builder, main);
- assertEquals(javaResult, dxArtResult);
}
@Test
diff --git a/src/test/java/com/android/tools/r8/jasmin/FillBooleanArrayTruncation.java b/src/test/java/com/android/tools/r8/jasmin/FillBooleanArrayTruncation.java
index ddf3dbb..d317fb0 100644
--- a/src/test/java/com/android/tools/r8/jasmin/FillBooleanArrayTruncation.java
+++ b/src/test/java/com/android/tools/r8/jasmin/FillBooleanArrayTruncation.java
@@ -21,25 +21,14 @@
}
}
- private void runOnDalvikDxCheckVerifyError(JasminBuilder builder, String main) throws Exception {
- try {
- runOnArtDx(builder, main);
- } catch (AssertionError e) {
- assert e.toString().contains("VerifyError");
- }
- }
-
private void runTest(JasminBuilder builder, String main) throws Exception {
String javaResult = runOnJava(builder, main);
if (ToolHelper.getDexVm().getVersion().isOlderThanOrEqual(DexVm.Version.V4_4_4)) {
// On dalvik the need for truncation is treated as a verification error.
runOnDalvikCheckVerifyError(builder, main);
- runOnDalvikDxCheckVerifyError(builder, main);
} else {
String artResult = runOnArtD8(builder, main);
assertEquals(javaResult, artResult);
- String dxArtResult = runOnArtDx(builder, main);
- assertEquals(javaResult, dxArtResult);
}
}
diff --git a/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineTests.java b/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineTests.java
index b4e4e71..d042f6b 100644
--- a/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineTests.java
+++ b/src/test/java/com/android/tools/r8/jasmin/JumpSubroutineTests.java
@@ -28,8 +28,6 @@
assertEquals(expected, artResult);
String cfFrontendResult = runOnJavaR8CfFrontend(builder, main);
assertEquals(expected, cfFrontendResult);
- String dxArtResult = runOnArtDx(builder, main);
- assertEquals(expected, dxArtResult);
}
private String runOnJavaR8CfFrontend(JasminBuilder builder, String main) throws Exception {
@@ -51,17 +49,6 @@
return processResult.stdout;
}
- private void expectDxFailure(JasminBuilder builder) throws Exception {
- // This expects this dx failure:
- // Uncaught translation error: com.android.dex.util.ExceptionWithContext: returning from
- // invalid subroutine
- // 1 error; aborting
- ProcessResult result = runDX(builder);
- assertNotEquals(0, result.exitCode);
- assertTrue(result.stderr.contains("Uncaught translation error"));
- assertTrue(result.stderr.contains("invalid subroutine"));
- }
-
@Test
/*
* Compilation of the following code with JDK 1.3.0_05 (on Windows).
@@ -414,8 +401,6 @@
assertEquals(expected, artResult);
String cfFrontendResult = runOnJavaR8CfFrontend(builder, clazz.name);
assertEquals(expected, cfFrontendResult);
- // This fails with dx.
- expectDxFailure(builder);
}
@Test
@@ -1408,8 +1393,6 @@
assertNotEquals(expected, artResult);
String cfFrontendResult = runOnJavaR8CfFrontend(builder, clazz.name);
assertNotEquals(expected, cfFrontendResult);
- // This fails with dx.
- expectDxFailure(builder);
}
@Test
@@ -1458,8 +1441,6 @@
assertNotEquals(expected, artResult);
String cfFrontendResult = runOnJavaR8CfFrontend(builder, clazz.name);
assertNotEquals(expected, cfFrontendResult);
- // This fails with dx.
- expectDxFailure(builder);
}
@Test
@@ -1509,8 +1490,6 @@
assertNotEquals(expected, artResult);
String cfFrontendResult = runOnJavaR8CfFrontend(builder, clazz.name);
assertNotEquals(expected, cfFrontendResult);
- // This fails with dx.
- expectDxFailure(builder);
}
// Some jsr tests that fails bytecode verification on the Java VM.
diff --git a/src/test/java/com/android/tools/r8/jasmin/Regress72413928.java b/src/test/java/com/android/tools/r8/jasmin/Regress72413928.java
index 5e2549d..dfc220c 100644
--- a/src/test/java/com/android/tools/r8/jasmin/Regress72413928.java
+++ b/src/test/java/com/android/tools/r8/jasmin/Regress72413928.java
@@ -114,15 +114,11 @@
JasminBuilder builder = buildClass(type);
String javaResult = runOnJava(builder, "Test");
ProcessResult d8Result = runOnArtD8Raw(builder, "Test");
- ProcessResult dxResult = runOnArtDxRaw(builder, "Test");
if (supportedOnD8AndDx) {
assertEquals(0, d8Result.exitCode);
assertEquals(javaResult, d8Result.stdout);
- assertEquals(0, dxResult.exitCode);
- assertEquals(javaResult, dxResult.stdout);
} else {
assertNotEquals(0, d8Result.exitCode);
- assertNotEquals(0, dxResult.exitCode);
}
}
}
diff --git a/src/test/java/com/android/tools/r8/jasmin/Regress80124071.java b/src/test/java/com/android/tools/r8/jasmin/Regress80124071.java
index 0eda515..c348e4d 100644
--- a/src/test/java/com/android/tools/r8/jasmin/Regress80124071.java
+++ b/src/test/java/com/android/tools/r8/jasmin/Regress80124071.java
@@ -62,9 +62,7 @@
@Test
public void test() throws Exception {
JasminBuilder builder = buildClass();
- String jvm = runOnArtDx(builder, "Test");
- String dx = runOnJava(builder, "Test");
- assertEquals(jvm, dx);
+ String jvm = runOnJava(builder, "Test");
String d8 = runOnArtD8(builder, "Test");
assertEquals(jvm, d8);
}