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-06 14:51:01 -0700
commitbe90604a426c879f324921d5223d3a510bfc42fb (patch)
treeaeb27770711a635d8404ef75f839fb936951e1c4
parent44eb9e58deb4e1503267edc0d20ba2888197380e (diff)
downloadapache-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.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);