Remove remaining runs on DX from R8RunExamples

Bug: 185205222
Change-Id: Id0e574c53d40487a88af137e92a58bec152d6d20
diff --git a/src/test/examples/enclosingmethod/OuterClass.java b/src/test/examples/enclosingmethod/OuterClass.java
index 387f233..5268954 100644
--- a/src/test/examples/enclosingmethod/OuterClass.java
+++ b/src/test/examples/enclosingmethod/OuterClass.java
@@ -55,7 +55,11 @@
     System.out.println(anInstance.getClass().getEnclosingClass());
     System.out.println(anInstance.getClass().getEnclosingMethod());
     System.out.println(anInstance.getClass().isAnonymousClass());
-    System.out.println(anInstance.getClass().isLocalClass());
-    System.out.println(anInstance.getClass().isMemberClass());
+    // DEX enclosing-class annotations don't distinguish member classes from local classes.
+    // This results in Class.isLocalClass always being false and Class.isMemberClass always
+    // being true even when the converse is the case when running on the JVM.
+    // More context b/69453990
+    System.out.println(
+        anInstance.getClass().isLocalClass() || anInstance.getClass().isMemberClass());
   }
 }
diff --git a/src/test/examples/throwing/Throwing.java b/src/test/examples/throwing/Throwing.java
index 574556f..80b8115 100644
--- a/src/test/examples/throwing/Throwing.java
+++ b/src/test/examples/throwing/Throwing.java
@@ -101,7 +101,12 @@
 
   public static void printFrameHead(Exception e) {
     for (StackTraceElement element : e.getStackTrace()) {
-      System.out.println("FRAME: " + element);
+      // Dalvik will print frames like:
+      // FRAME: dalvik.system.NativeStart.main(Native Method)
+      // ignore these to get same stacks as the JVM
+      if (!element.toString().contains("dalvik")) {
+        System.out.println("FRAME: " + element);
+      }
     }
   }
 
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
index 8a0cd0e..45122d4 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
@@ -170,27 +170,17 @@
   }
 
   @Override
-  protected Map<String, TestCondition> getOutputNotIdenticalToJVMOutput() {
-    return new ImmutableMap.Builder<String, TestCondition>()
-        // Traverses stack frames that contain Art specific frames.
-        .put("throwing.Throwing", TestCondition.any())
-        // DEX enclosing-class annotations don't distinguish member classes from local classes.
-        // This results in Class.isLocalClass always being false and Class.isMemberClass always
-        // being true even when the converse is the case when running on the JVM.
-        .put("enclosingmethod.Main", TestCondition.any())
-        .build();
-  }
-
-
-  @Override
   protected Map<String, TestCondition> getSkip() {
     return new ImmutableMap.Builder<String, TestCondition>()
         // Test uses runtime methods which are not available on older Art versions.
-        .put("regress_70703087.Test",
+        .put(
+            "regress_70703087.Test",
             TestCondition.match(TestCondition.runtimesUpTo(Version.V6_0_1)))
+        // Dalvik does not correctly report the enclosing classes.
+        .put(
+            "enclosingmethod.Main", TestCondition.match(TestCondition.runtimesUpTo(Version.V4_4_4)))
         // Test uses runtime methods which are not available on older Art versions.
-        .put("loop.UdpServer",
-            TestCondition.match(TestCondition.runtimesUpTo(Version.V4_0_4)))
+        .put("loop.UdpServer", TestCondition.match(TestCondition.runtimesUpTo(Version.V4_0_4)))
         .build();
   }
 }
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesTestBase.java b/src/test/java/com/android/tools/r8/R8RunExamplesTestBase.java
index 62b9ca4..99fedb6 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesTestBase.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesTestBase.java
@@ -214,22 +214,11 @@
     }
 
     // Check output against JVM output if we have it, otherwise check on art
-    if (shouldMatchJVMOutput(vm.getVersion())) {
-      String d8Output =
-          ToolHelper.runArtNoVerificationErrors(
-              Collections.singletonList(generated.toString()), mainClass, null, vm);
-      String javaOutput = javaResult.stdout;
-      assertEquals("JVM and Art output differ", javaOutput, d8Output);
-    } else {
-      String dxCompiled = getOriginalDexFile().toString();
-      String output =
-          ToolHelper.checkArtOutputIdentical(dxCompiled, generated.toString(), mainClass, vm);
-    }
-  }
-
-  private boolean shouldMatchJVMOutput(DexVm.Version version) {
-    TestCondition condition = getOutputNotIdenticalToJVMOutput().get(mainClass);
-    return condition == null || !condition.test(DexTool.NONE, compiler, version, mode);
+    String d8Output =
+        ToolHelper.runArtNoVerificationErrors(
+            Collections.singletonList(generated.toString()), mainClass, null, vm);
+    String javaOutput = javaResult.stdout;
+    assertEquals("JVM and Art output differ", javaOutput, d8Output);
   }
 
   private boolean shouldSkipVm(DexVm.Version version) {
@@ -252,7 +241,5 @@
 
   protected abstract Set<String> getFailingOutputCf();
 
-  protected abstract Map<String, TestCondition> getOutputNotIdenticalToJVMOutput();
-
   protected abstract Map<String, TestCondition> getSkip();
 }