summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-09-19 09:44:24 -0700
committerMathieu Chartier <mathieuc@google.com>2014-10-02 14:58:59 -0700
commit60b42150472edbdc93cafbeadebefd40cbb87639 (patch)
tree0d2df2da3c0b2347bd8d2bd61ecf2159c7d180f5
parent1c40fe5dbb39eaa6eed3fde3f06effe3517b32d0 (diff)
downloadapache-harmony-lollipop-dev.tar.gz
Maybe fix flaky testlollipop-dev
Changed System.gc() to use System.gc() and System.runFinalization() to ensure that finalizers are run. Bug: 17305633 Change-Id: I33722a3ca0360a94cca58445e6b22b4abbf4c8af
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ObjectReference/IsCollectedDebuggee.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ObjectReference/IsCollectedDebuggee.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ObjectReference/IsCollectedDebuggee.java
index 742bc55..070b34d 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ObjectReference/IsCollectedDebuggee.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ObjectReference/IsCollectedDebuggee.java
@@ -31,11 +31,11 @@ import org.apache.harmony.jpda.tests.share.SyncDebuggee;
public class IsCollectedDebuggee extends SyncDebuggee {
static IsCollectedObject001_01 checkedObject_01;
- static boolean checkedObject_01_Finalized = false;
+ static volatile boolean checkedObject_01_Finalized = false;
static IsCollectedObject001_02 checkedObject_02;
- static boolean checkedObject_02_Finalized = false;
+ static volatile boolean checkedObject_02_Finalized = false;
static IsCollectedObject001_03 checkedObject_03;
- static boolean checkedObject_03_Finalized = false;
+ static volatile boolean checkedObject_03_Finalized = false;
public void run() {
logWriter.println("--> Debuggee: IsCollectedDebuggee: START");
@@ -69,7 +69,10 @@ public class IsCollectedDebuggee extends SyncDebuggee {
// logWriter.println("--> Debuggee: i = " + i);
}
longArray = null;
- System.gc();
+ Runtime.getRuntime().gc();
+ System.runFinalization(); // Make sure that the finalizers are finished running.
+ // Make sure the JNI weak globals are cleared, need to do this after runFinalization.
+ Runtime.getRuntime().gc();
logWriter.println("--> Debuggee: AFTER System.gc():");
logWriter.println("--> Debuggee: checkedObject_01 = " +
checkedObject_01);