Update test expectations after rewriting throwing instructions

Change-Id: I4ca348ef5e2dd486324d8f1e659212d76c3f3cd7
diff --git a/src/test/java/com/android/tools/r8/desugaring/interfacemethods/DefaultInterfaceMethodDesugaringWithPrivateStaticResolutionInvokeVirtualTest.java b/src/test/java/com/android/tools/r8/desugaring/interfacemethods/DefaultInterfaceMethodDesugaringWithPrivateStaticResolutionInvokeVirtualTest.java
index 363e539..3feba89 100644
--- a/src/test/java/com/android/tools/r8/desugaring/interfacemethods/DefaultInterfaceMethodDesugaringWithPrivateStaticResolutionInvokeVirtualTest.java
+++ b/src/test/java/com/android/tools/r8/desugaring/interfacemethods/DefaultInterfaceMethodDesugaringWithPrivateStaticResolutionInvokeVirtualTest.java
@@ -83,7 +83,8 @@
         testForRuntime(parameters)
             .addProgramClasses(getProgramClasses())
             .addProgramClassFileData(getProgramClassData())
-            .run(parameters.getRuntime(), TestClass.class));
+            .run(parameters.getRuntime(), TestClass.class),
+        false);
   }
 
   @Test
@@ -95,21 +96,24 @@
             .addKeepAllClassesRule()
             .setMinApi(parameters.getApiLevel())
             .compile()
-            .run(parameters.getRuntime(), TestClass.class));
+            .run(parameters.getRuntime(), TestClass.class),
+        true);
   }
 
-  private void checkResult(TestRunResult<?> result) {
+  private void checkResult(TestRunResult<?> result, boolean isR8) {
     // Invalid invoke case is where the invoke-virtual targets C.m.
     if (invalidInvoke) {
-      // Up to 4.4 the exception for targeting a private static was ICCE.
-      if (isDexOlderThanOrEqual(Version.V4_4_4)) {
-        result.assertFailureWithErrorThatThrows(IncompatibleClassChangeError.class);
-        return;
-      }
-      // Then up to 6.0 the runtime just ignores privates leading to incorrectly hitting I.m
-      if (isDexOlderThanOrEqual(Version.V6_0_1)) {
-        result.assertSuccessWithOutput(EXPECTED);
-        return;
+      if (!isR8) {
+        // Up to 4.4 the exception for targeting a private static was ICCE.
+        if (isDexOlderThanOrEqual(Version.V4_4_4)) {
+          result.assertFailureWithErrorThatThrows(IncompatibleClassChangeError.class);
+          return;
+        }
+        // Then up to 6.0 the runtime just ignores privates leading to incorrectly hitting I.m
+        if (isDexOlderThanOrEqual(Version.V6_0_1)) {
+          result.assertSuccessWithOutput(EXPECTED);
+          return;
+        }
       }
       // The expected behavior is IAE since the resolved method is private.
       result.assertFailureWithErrorThatThrows(IllegalAccessError.class);
diff --git a/src/test/java/com/android/tools/r8/resolution/VirtualOverrideOfPrivateStaticMethodTest.java b/src/test/java/com/android/tools/r8/resolution/VirtualOverrideOfPrivateStaticMethodTest.java
index 473f349..9a14cad 100644
--- a/src/test/java/com/android/tools/r8/resolution/VirtualOverrideOfPrivateStaticMethodTest.java
+++ b/src/test/java/com/android/tools/r8/resolution/VirtualOverrideOfPrivateStaticMethodTest.java
@@ -131,10 +131,6 @@
   }
 
   private Class<? extends Throwable> expectedRuntimeError() {
-    if (parameters.isDexRuntime()
-        && parameters.getRuntime().asDex().getVm().isOlderThanOrEqual(DexVm.ART_4_4_4_HOST)) {
-      return IncompatibleClassChangeError.class;
-    }
     return IllegalAccessError.class;
   }
 }
diff --git a/src/test/java/com/android/tools/r8/resolution/VirtualOverrideOfPrivateStaticMethodWithVirtualParentTest.java b/src/test/java/com/android/tools/r8/resolution/VirtualOverrideOfPrivateStaticMethodWithVirtualParentTest.java
index cc2005d..8171081 100644
--- a/src/test/java/com/android/tools/r8/resolution/VirtualOverrideOfPrivateStaticMethodWithVirtualParentTest.java
+++ b/src/test/java/com/android/tools/r8/resolution/VirtualOverrideOfPrivateStaticMethodWithVirtualParentTest.java
@@ -150,7 +150,8 @@
       // virtual dispatch to C.f. See b/140013075.
       runResult.assertSuccessWithOutputLines("Called C.f");
     } else {
-      runResult.assertFailureWithErrorThatMatches(containsString(expectedRuntimeError()));
+      runResult.assertFailureWithErrorThatMatches(
+          containsString(expectedRuntimeError(isCorrectedByR8)));
     }
   }
 
@@ -161,9 +162,10 @@
         && runtime.asDex().getVm().isOlderThanOrEqual(DexVm.ART_7_0_0_HOST);
   }
 
-  private String expectedRuntimeError() {
+  private String expectedRuntimeError(boolean isCorrectedByR8) {
     if (parameters.isDexRuntime()
-        && parameters.getRuntime().asDex().getVm().isOlderThanOrEqual(DexVm.ART_4_4_4_HOST)) {
+        && parameters.getRuntime().asDex().getVm().isOlderThanOrEqual(DexVm.ART_4_4_4_HOST)
+        && !isCorrectedByR8) {
       return "IncompatibleClassChangeError";
     }
     return "IllegalAccessError";