Merge "Enable using android 6.0.1 dex2oat on all verification tests."
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index c7fcdcc..f17359d 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -1141,8 +1141,13 @@
   }
 
   public static void runDex2Oat(Path file, Path outFile) throws IOException {
-    // TODO(b/79191363): Support running dex2oat for past android versions.
-    runDex2Oat(file, outFile, DexVm.ART_DEFAULT);
+    DexVm vm = getDexVm();
+    if (vm.isOlderThanOrEqual(DexVm.ART_5_1_1_HOST)) {
+      // TODO(b/79191363): Support running dex2oat for past android versions.
+      // Run default dex2oat for tests on old runtimes.
+      vm = DexVm.ART_DEFAULT;
+    }
+    runDex2Oat(file, outFile, vm);
   }
 
   public static void runDex2Oat(Path file, Path outFile, DexVm vm) throws IOException {
diff --git a/src/test/java/com/android/tools/r8/internal/D8Framework14082017DesugaredVerificationTest.java b/src/test/java/com/android/tools/r8/internal/D8Framework14082017DesugaredVerificationTest.java
index ff34444..003b6eb 100644
--- a/src/test/java/com/android/tools/r8/internal/D8Framework14082017DesugaredVerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/D8Framework14082017DesugaredVerificationTest.java
@@ -5,14 +5,21 @@
 
 import com.android.tools.r8.CompilationMode;
 import com.android.tools.r8.D8Command;
+import com.android.tools.r8.ToolHelper.DexVm.Version;
+import com.android.tools.r8.VmTestRunner;
+import com.android.tools.r8.VmTestRunner.IgnoreIfVmOlderThan;
+import com.android.tools.r8.utils.AndroidApiLevel;
 import java.nio.file.Paths;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 
+@RunWith(VmTestRunner.class)
 public class D8Framework14082017DesugaredVerificationTest extends CompilationTestBase {
-  private static final int MIN_SDK = 24;
+  private static final int MIN_SDK = AndroidApiLevel.N.getLevel();
   private static final String JAR = "third_party/framework/framework_14082017_desugared.jar";
 
   @Test
+  @IgnoreIfVmOlderThan(Version.V7_0_0)
   public void verifyDebugBuild() throws Exception {
     runAndCheckVerification(
         D8Command.builder()
@@ -23,6 +30,7 @@
   }
 
   @Test
+  @IgnoreIfVmOlderThan(Version.V7_0_0)
   public void verifyReleaseBuild() throws Exception {
     runAndCheckVerification(
         D8Command.builder()
diff --git a/src/test/java/com/android/tools/r8/internal/D8Framework14082017VerificationTest.java b/src/test/java/com/android/tools/r8/internal/D8Framework14082017VerificationTest.java
index f4ec74e..6dbb356 100644
--- a/src/test/java/com/android/tools/r8/internal/D8Framework14082017VerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/D8Framework14082017VerificationTest.java
@@ -5,14 +5,21 @@
 
 import com.android.tools.r8.CompilationMode;
 import com.android.tools.r8.D8Command;
+import com.android.tools.r8.ToolHelper.DexVm.Version;
+import com.android.tools.r8.VmTestRunner;
+import com.android.tools.r8.VmTestRunner.IgnoreIfVmOlderThan;
+import com.android.tools.r8.utils.AndroidApiLevel;
 import java.nio.file.Paths;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 
+@RunWith(VmTestRunner.class)
 public class D8Framework14082017VerificationTest extends CompilationTestBase {
-  private static final int MIN_SDK = 24;
+  private static final int MIN_SDK = AndroidApiLevel.N.getLevel();
   private static final String JAR = "third_party/framework/framework_14082017.jar";
 
   @Test
+  @IgnoreIfVmOlderThan(Version.V7_0_0)
   public void verifyDebugBuild() throws Exception {
     runAndCheckVerification(
         D8Command.builder()
@@ -23,6 +30,7 @@
   }
 
   @Test
+  @IgnoreIfVmOlderThan(Version.V7_0_0)
   public void verifyReleaseBuild() throws Exception {
     runAndCheckVerification(
         D8Command.builder()
diff --git a/src/test/java/com/android/tools/r8/internal/D8FrameworkVerificationTest.java b/src/test/java/com/android/tools/r8/internal/D8FrameworkVerificationTest.java
index 1396281..f330553 100644
--- a/src/test/java/com/android/tools/r8/internal/D8FrameworkVerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/D8FrameworkVerificationTest.java
@@ -5,14 +5,21 @@
 
 import com.android.tools.r8.CompilationMode;
 import com.android.tools.r8.D8Command;
+import com.android.tools.r8.ToolHelper.DexVm.Version;
+import com.android.tools.r8.VmTestRunner;
+import com.android.tools.r8.VmTestRunner.IgnoreIfVmOlderThan;
+import com.android.tools.r8.utils.AndroidApiLevel;
 import java.nio.file.Paths;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 
+@RunWith(VmTestRunner.class)
 public class D8FrameworkVerificationTest extends CompilationTestBase {
-  private static final int MIN_SDK = 24;
+  private static final int MIN_SDK = AndroidApiLevel.N.getLevel();
   private static final String JAR = "third_party/framework/framework_160115954.jar";
 
   @Test
+  @IgnoreIfVmOlderThan(Version.V7_0_0)
   public void verifyDebugBuild() throws Exception {
     runAndCheckVerification(
         D8Command.builder()
@@ -23,6 +30,7 @@
   }
 
   @Test
+  @IgnoreIfVmOlderThan(Version.V7_0_0)
   public void verifyReleaseBuild() throws Exception {
     runAndCheckVerification(
         D8Command.builder()