test: Fix 036-finalizer test flake on --jvm

Bug: 73888836
Test: art/test/testrunner/testrunner.py --jvm --host -t 036-finalizer
Change-Id: Ia183de338a0582b4123fb9a58a07e1cec8582385
diff --git a/test/036-finalizer/expected.txt b/test/036-finalizer/expected.txt
index 36fa5f8..c5d03ba 100644
--- a/test/036-finalizer/expected.txt
+++ b/test/036-finalizer/expected.txt
@@ -11,4 +11,4 @@
 sleep
 reborn: [FinalizerTest message=nothing, finalized=false]
 wimp: null
-Finalized 1024 / 1024
+After sleep finalized 1024 / 1024
diff --git a/test/036-finalizer/src/Main.java b/test/036-finalizer/src/Main.java
index 734830f..ff6186b 100644
--- a/test/036-finalizer/src/Main.java
+++ b/test/036-finalizer/src/Main.java
@@ -25,6 +25,8 @@
  * immediately or very soon.
  */
 public class Main {
+    private final static boolean isDalvik = System.getProperty("java.vm.name").equals("Dalvik");
+
     private static void snooze(int ms) {
         try {
             Thread.sleep(ms);
@@ -146,18 +148,22 @@
       allocFinalizableObjects(FinalizeCounter.maxCount);
       Runtime.getRuntime().gc();
       System.runFinalization();
-      System.out.println("Finalized " + FinalizeCounter.getCount() + " / "  + FinalizeCounter.maxCount);
       if (FinalizeCounter.getCount() != FinalizeCounter.maxCount) {
-        // Print out all the finalized elements.
-        FinalizeCounter.printNonFinalized();
+        if (isDalvik) {
+          // runFinalization is "expend effort", only ART makes a strong effort all finalizers ran.
+          System.out.println("Finalized " + FinalizeCounter.getCount() + " / "  + FinalizeCounter.maxCount);
+          // Print out all the finalized elements.
+          FinalizeCounter.printNonFinalized();
+        }
         // Try to sleep for a couple seconds to see if the objects became finalized after.
         try {
           java.lang.Thread.sleep(2000);
         } catch (InterruptedException e) {
+          throw new AssertionError(e);
         }
-        System.out.println("After sleep finalized " + FinalizeCounter.getCount() + " / "  + FinalizeCounter.maxCount);
-        FinalizeCounter.printNonFinalized();
       }
+      System.out.println("After sleep finalized " + FinalizeCounter.getCount() + " / "  + FinalizeCounter.maxCount);
+      FinalizeCounter.printNonFinalized();
     }
 
     public static class FinalizerTest {