diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-09-19 09:44:24 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-10-06 14:51:01 -0700 |
commit | be90604a426c879f324921d5223d3a510bfc42fb (patch) | |
tree | aeb27770711a635d8404ef75f839fb936951e1c4 | |
parent | 44eb9e58deb4e1503267edc0d20ba2888197380e (diff) | |
download | apache-harmony-be90604a426c879f324921d5223d3a510bfc42fb.tar.gz |
Maybe fix flaky test
Changed System.gc() to use System.gc() and System.runFinalization()
to ensure that finalizers are run.
Bug: 17305633
(cherry picked from commit 60b42150472edbdc93cafbeadebefd40cbb87639)
Change-Id: If982a39210e58b181a905b5b286a24a521d52c31
-rw-r--r-- | jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ObjectReference/IsCollectedDebuggee.java | 11 |
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); |