Don't run crashing debugger tests on 7.0.0

This happens on art 7.0.0 when running on noble ubuntu (and locally on glinux)

Bug: b/417870524
Change-Id: I3610478eca3c479dc05cd88f89625cd37cfb477d
diff --git a/src/test/java/com/android/tools/r8/jdwp/RunJdwpTests.java b/src/test/java/com/android/tools/r8/jdwp/RunJdwpTests.java
index 80ce84a..467f86b 100644
--- a/src/test/java/com/android/tools/r8/jdwp/RunJdwpTests.java
+++ b/src/test/java/com/android/tools/r8/jdwp/RunJdwpTests.java
@@ -70,10 +70,26 @@
     };
   }
 
+  static TestPredicate and(TestPredicate... predicates) {
+    return (vm, tool) -> {
+      for (TestPredicate predicate : predicates) {
+        if (!predicate.test(vm, tool)) {
+          return false;
+        }
+      }
+      return true;
+    };
+  }
+
   static boolean isAndroidKOrAbove(DexVm dexVm, Tool tool) {
     return dexVm.getVersion().isNewerThanOrEqual(Version.V4_4_4);
   }
 
+  static boolean isAndroidKOrAboveAndNotN(DexVm dexVm, Tool tool) {
+    return dexVm.getVersion().isNewerThanOrEqual(Version.V4_4_4)
+        && dexVm.getVersion() != Version.V7_0_0;
+  }
+
   static boolean isAndroidK(DexVm dexVm, Tool tool) {
     return dexVm.getVersion().isEqualTo(Version.V4_4_4);
   }
@@ -98,6 +114,10 @@
     return dexVm.getVersion() != Version.V5_1_1;
   }
 
+  static boolean isNotAndroidN(DexVm dexVm, Tool tool) {
+    return dexVm.getVersion() != Version.V7_0_0;
+  }
+
   static boolean isLatestRuntime(DexVm dexVm, Tool tool) {
     return dexVm == DexVm.ART_DEFAULT;
   }
@@ -124,7 +144,11 @@
   static final Map<String, TestPredicate> FAILING_TESTS =
       ImmutableMap.<String, TestPredicate>builder()
           // Other failures on various older runtimes.
-          .put("LineTableDuplicatesTest", or(RunJdwpTests::isJava, RunJdwpTests::isAndroidNOrAbove))
+          .put(
+              "LineTableDuplicatesTest",
+              or(
+                  RunJdwpTests::isJava,
+                  and(RunJdwpTests::isAndroidNOrAbove, RunJdwpTests::isNotAndroidN)))
           .put("ArrayReference.GetValuesTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ArrayReference.LengthTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ArrayReference.SetValues003Test", RunJdwpTests::isAndroidNOrAbove)
@@ -166,11 +190,16 @@
           .put("Events.SingleStepTest", RunJdwpTests::isNotAndroidL)
           .put("Events.SingleStepWithPendingExceptionTest", RunJdwpTests::isAndroidNOrAbove)
           .put("EventModifiers.CountModifierTest", RunJdwpTests::isAndroidLOrAbove)
+          .put(
+              "EventModifiers.InstanceOnlyModifierTest",
+              and(RunJdwpTests::isAndroidLOrAbove, RunJdwpTests::isNotAndroidN))
           .put("EventModifiers.ThreadOnlyModifierTest", RunJdwpTests::isAndroidLOrAbove)
           .put("InterfaceType.InvokeMethodTest", RunJdwpTests::isAndroidNOrAbove)
           .put("Method.BytecodesTest", RunJdwpTests::isAndroidLOrAbove)
           .put("Method.IsObsoleteTest", RunJdwpTests::isAndroidNOrAbove)
-          .put("Method.LineTableTest", or(RunJdwpTests::isAndroidKOrAbove, RunJdwpTests::isJava))
+          .put(
+              "Method.LineTableTest",
+              or(RunJdwpTests::isAndroidKOrAboveAndNotN, RunJdwpTests::isJava))
           .put("Method.VariableTableTest", RunJdwpTests::isAndroidOOrAbove)
           .put(
               "Method.VariableTableWithGenericTest",
@@ -199,6 +228,7 @@
           .put("ObjectReference.InvokeMethodWithSuspensionTest", RunJdwpTests::isAndroidMOrAbove)
           .put("ObjectReference.IsCollectedTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ObjectReference.MonitorInfoTest", RunJdwpTests::isAndroidLOrAbove)
+          .put("ObjectReference.ReferringObjectsTest", RunJdwpTests::isNotAndroidN)
           .put("ObjectReference.SetValuesTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ObjectReference.SetValues002Test", RunJdwpTests::isAndroidLOrAbove)
           .put("ObjectReference.SetValues003Test", RunJdwpTests::isAndroidLOrAbove)
@@ -207,16 +237,24 @@
           .put("ReferenceType.GetValues002Test", RunJdwpTests::isAndroidLOrAbove)
           .put("ReferenceType.GetValues004Test", RunJdwpTests::isAndroidLOrAbove)
           .put("ReferenceType.GetValues006Test", RunJdwpTests::isAndroidOOrAbove)
+          .put("ReferenceType.InstancesTest", RunJdwpTests::isNotAndroidN)
           .put("ReferenceType.MethodsTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ReferenceType.ModifiersTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ReferenceType.Signature002Test", RunJdwpTests::isAndroidLOrAbove)
           .put("ReferenceType.SourceDebugExtensionTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ReferenceType.SyntheticFieldsTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ReferenceType.SyntheticMethodsTest", RunJdwpTests::isAndroidLOrAbove)
-          .put("StackFrame.GetValuesTest", RunJdwpTests::isAndroidMOrAbove)
-          .put("StackFrame.ProxyThisObjectTest", RunJdwpTests::isAndroidLOrAbove)
-          .put("StackFrame.SetValuesTest", RunJdwpTests::isAndroidMOrAbove)
-          .put("StackFrame.SetValues002Test", RunJdwpTests::isAndroidMOrAbove)
+          .put(
+              "StackFrame.GetValuesTest",
+              and(RunJdwpTests::isAndroidMOrAbove, RunJdwpTests::isNotAndroidN))
+          .put("StackFrame.GetValues002Test", RunJdwpTests::isNotAndroidN)
+          .put("StackFrame.ProxyThisObjectTest", RunJdwpTests::isAndroidMOrAbove)
+          .put(
+              "StackFrame.SetValuesTest",
+              and(RunJdwpTests::isAndroidMOrAbove, RunJdwpTests::isNotAndroidN))
+          .put(
+              "StackFrame.SetValues002Test",
+              and(RunJdwpTests::isAndroidMOrAbove, RunJdwpTests::isNotAndroidN))
           .put("StackFrame.ThisObjectTest", RunJdwpTests::isAndroidLOrAbove)
           .put("StringReference.ValueTest", RunJdwpTests::isAndroidLOrAbove)
           .put("ThreadGroupReference.ChildrenTest", RunJdwpTests::isAndroidLOrAbove)
@@ -248,6 +286,7 @@
           .put("VirtualMachine.DisposeDuringInvokeTest", RunJdwpTests::isAndroidMOrAbove)
           .put("VirtualMachine.DisposeObjectsTest", RunJdwpTests::isAndroidLOrAbove)
           .put("VirtualMachine.ExitTest", RunJdwpTests::isAndroidLOrAbove)
+          .put("VirtualMachine.InstanceCountsTest", RunJdwpTests::isNotAndroidN)
           .put("VirtualMachine.ResumeTest", RunJdwpTests::isAndroidLOrAbove)
           .build();