Only check difference to art if we can't compare to jvm

Bug: 185205222
Change-Id: I05f3b43b85c789ea9da23d50153666a3c6854219
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesCommon.java b/src/test/java/com/android/tools/r8/R8RunExamplesCommon.java
index b3bcdb4..8866236 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesCommon.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesCommon.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.Collections;
 import java.util.Map;
 import java.util.Set;
 import org.junit.Assume;
@@ -187,7 +188,6 @@
       return;
     }
 
-    String original = getOriginalDexFile().toString();
     Path generated = getOutputFile();
 
     ToolHelper.ProcessResult javaResult = ToolHelper.runJava(getOriginalJarFile(""), mainClass);
@@ -222,14 +222,17 @@
       return;
     }
 
-    // Check output against Art output on original dex file.
-    String output =
-        ToolHelper.checkArtOutputIdentical(original, generated.toString(), mainClass, vm);
-
-    // Check output against JVM output.
+    // 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, output);
+      assertEquals("JVM and Art output differ", javaOutput, d8Output);
+    } else {
+      String dxCompiled = getOriginalDexFile().toString();
+      String output =
+          ToolHelper.checkArtOutputIdentical(dxCompiled, generated.toString(), mainClass, vm);
     }
   }