Update test expectations for ServiceLoaderRewritingTest

Bug: b/291923475
Change-Id: Iee3df08b6b3c92f72a7c9640fe71a49f112c65ff
diff --git a/src/test/java/com/android/tools/r8/optimize/serviceloader/ServiceLoaderRewritingTest.java b/src/test/java/com/android/tools/r8/optimize/serviceloader/ServiceLoaderRewritingTest.java
index 4fe386a..75d51ed 100644
--- a/src/test/java/com/android/tools/r8/optimize/serviceloader/ServiceLoaderRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/optimize/serviceloader/ServiceLoaderRewritingTest.java
@@ -7,7 +7,6 @@
 import static com.android.tools.r8.ToolHelper.DexVm.Version.V7_0_0;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assume.assumeTrue;
 
 import com.android.tools.r8.CompilationFailedException;
 import com.android.tools.r8.NeverInline;
@@ -180,8 +179,11 @@
     }
   }
 
-  private boolean isDexV7() {
-    // Runtime uses boot classloader rather than system classloader on this version.
+  private boolean isAndroid7() {
+    // Runtime uses boot classloader rather than system classloader on this version. See b/130164528
+    // for more details.
+    // The CL that changed behaviour after Nougat is:
+    // https://android-review.googlesource.com/c/platform/libcore/+/273135
     return parameters.isDexRuntime() && parameters.getDexRuntimeVersion() == V7_0_0;
   }
 
@@ -203,7 +205,7 @@
         .compile()
         .run(parameters.getRuntime(), MainRunner.class)
         .applyIf(
-            isDexV7() && !enableRewriting,
+            isAndroid7() && !enableRewriting,
             runResult ->
                 runResult.assertFailureWithErrorThatThrows(ServiceConfigurationError.class),
             runResult ->
@@ -223,7 +225,7 @@
         .compile()
         .run(parameters.getRuntime(), MainRunner.class)
         .applyIf(
-            isDexV7() && !enableRewriting,
+            isAndroid7() && !enableRewriting,
             runResult ->
                 runResult.assertFailureWithErrorThatThrows(ServiceConfigurationError.class),
             runResult ->
@@ -299,7 +301,7 @@
         .compileWithExpectedDiagnostics(expectedDiagnostics)
         .run(parameters.getRuntime(), MainRunner.class)
         .applyIf(
-            !isDexV7(),
+            !isAndroid7(),
             runResult -> runResult.assertSuccessWithOutput(EXPECTED_OUTPUT),
             runResult ->
                 runResult.assertFailureWithErrorThatThrows(ServiceConfigurationError.class));
@@ -343,23 +345,21 @@
   @Test
   public void testKeepAsOriginal()
       throws IOException, CompilationFailedException, ExecutionException {
-    // The CL that changed behaviour after Nougat is:
-    // https://android-review.googlesource.com/c/platform/libcore/+/273135
-    assumeTrue(
-        parameters.getRuntime().isCf()
-            || !parameters.getRuntime().asDex().getVm().getVersion().equals(V7_0_0));
     serviceLoaderTest(Service.class, ServiceImpl.class)
         .addKeepMainRule(MainRunner.class)
         .addKeepClassRules(Service.class)
         .allowDiagnosticInfoMessages(enableRewriting)
         .compileWithExpectedDiagnostics(expectedDiagnostics)
-        .run(parameters.getRuntime(), MainRunner.class)
-        .assertSuccessWithOutput(EXPECTED_OUTPUT)
         .inspect(
             inspector -> {
               assertEquals(3, getServiceLoaderLoads(inspector));
               verifyServiceMetaInf(inspector, Service.class, ServiceImpl.class);
-            });
+            })
+        .run(parameters.getRuntime(), MainRunner.class)
+        .applyIf(
+            isAndroid7(),
+            r -> r.assertFailureWithErrorThatThrows(ServiceConfigurationError.class),
+            r -> r.assertSuccessWithOutput(EXPECTED_OUTPUT));
   }
 
   @Test
@@ -369,12 +369,15 @@
         .addKeepMainRule(MainWithNonPublicService.class)
         .allowDiagnosticInfoMessages(enableRewriting)
         .compileWithExpectedDiagnostics(expectedDiagnostics)
-        .run(parameters.getRuntime(), MainWithNonPublicService.class)
-        .assertSuccessWithOutput("Hello World!\n")
         .inspect(
             inspector -> {
               assertEquals(1, getServiceLoaderLoads(inspector));
               verifyServiceMetaInf(inspector, NonPublicService.class, ServiceImpl.class);
-            });
+            })
+        .run(parameters.getRuntime(), MainWithNonPublicService.class)
+        .applyIf(
+            isAndroid7(),
+            r -> r.assertFailureWithErrorThatThrows(ServiceConfigurationError.class),
+            r -> r.assertSuccessWithOutputLines("Hello World!"));
   }
 }