summaryrefslogtreecommitdiffstats
path: root/test/080-oom-throw-with-finalizer
diff options
context:
space:
mode:
authorHiroshi Yamauchi <yamauchi@google.com>2015-03-12 13:12:53 -0700
committerHiroshi Yamauchi <yamauchi@google.com>2015-03-12 14:22:29 -0700
commite2b6997f7e7112af6acfbf4f7184aa70dfad97ff (patch)
treedf09eb16ceed6f2fb3b8ff3f8c6815ecb7b9aa94 /test/080-oom-throw-with-finalizer
parent3848c4fbc189287bca1298d45d07e21ec90c7c82 (diff)
downloadart-e2b6997f7e7112af6acfbf4f7184aa70dfad97ff.tar.gz
art-e2b6997f7e7112af6acfbf4f7184aa70dfad97ff.tar.bz2
art-e2b6997f7e7112af6acfbf4f7184aa70dfad97ff.zip
Improve 080-oom-throw-with-finalizer.
Avoid potential OOME that may be thrown during System.out.println or System.runFinalization. Bug: 19677738 Change-Id: I60c678000e965899cc876e746e72dc9cc0c6ebf9
Diffstat (limited to 'test/080-oom-throw-with-finalizer')
-rw-r--r--test/080-oom-throw-with-finalizer/src/Main.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/080-oom-throw-with-finalizer/src/Main.java b/test/080-oom-throw-with-finalizer/src/Main.java
index 57e972139d..61a1b75aaa 100644
--- a/test/080-oom-throw-with-finalizer/src/Main.java
+++ b/test/080-oom-throw-with-finalizer/src/Main.java
@@ -59,13 +59,22 @@ public class Main {
// Keep holder alive to make instance OOM happen faster.
holder = new char[128 * 1024][];
if (!triggerArrayOOM(holder)) {
+ // The test failed here. To avoid potential OOME during println,
+ // make holder unreachable.
+ holder = null;
System.out.println("NEW_ARRAY did not throw OOME");
}
if (!triggerInstanceFinalizerOOM()) {
+ // The test failed here. To avoid potential OOME during println,
+ // make holder unreachable.
+ holder = null;
System.out.println("NEW_INSTANCE (finalize) did not throw OOME");
}
+ // Make holder unreachable here so that the Sentinel
+ // allocation in runFinalization() won't fail.
+ holder = null;
System.runFinalization();
}
}