diff options
-rw-r--r-- | harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/RuntimeTest.java | 36 | ||||
-rw-r--r-- | luni/src/test/java/libcore/java/lang/OldRuntimeTest.java | 26 |
2 files changed, 23 insertions, 39 deletions
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/RuntimeTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/RuntimeTest.java index 08a4fa9..17f822d 100644 --- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/RuntimeTest.java +++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/RuntimeTest.java @@ -19,6 +19,8 @@ package org.apache.harmony.tests.java.lang; import java.io.IOException; import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; import java.util.Vector; public class RuntimeTest extends junit.framework.TestCase { @@ -82,14 +84,6 @@ public class RuntimeTest extends junit.framework.TestCase { } /** - * java.lang.Runtime#freeMemory() - */ - public void test_freeMemory() { - // Test for method long java.lang.Runtime.freeMemory() - assertTrue("freeMemory returned nonsense value", r.freeMemory() > 0); - } - - /** * java.lang.Runtime#gc() */ public void test_gc() { @@ -142,12 +136,28 @@ public class RuntimeTest extends junit.framework.TestCase { } /** - * java.lang.Runtime#totalMemory() + * java.lang.Runtime#freeMemory() / java.lang.Runtime#totalMemory() / + * java.lang.Runtime#maxMemory() */ - public void test_totalMemory() { - // Test for method long java.lang.Runtime.totalMemory() - assertTrue("totalMemory returned nonsense value", r.totalMemory() >= r - .freeMemory()); + public void test_memory() { + assertTrue("freeMemory <= 0", r.freeMemory() > 0); + assertTrue("totalMemory() < freeMemory()", r.totalMemory() >= r.freeMemory()); + assertTrue("maxMemory() < totalMemory()", r.maxMemory() >= r.totalMemory()); + } + + public void test_freeMemory() { + // Heap might grow or do GC at any time, so we can't really test a lot. Hence we are just + // doing some basic sanity checks here. + long freeBefore = r.freeMemory(); + List<byte[]> arrays = new ArrayList<byte[]>(); + for (int i = 1; i < 10; i++) { + arrays.add(new byte[10000]); + } + long freeAfter = r.freeMemory(); + + // If totalMemory() has grown/shrunk freeMemory() might have gone down or up, but the + // freeMemory is unlikely to stay the same. + assertTrue("free memory must change with allocations", freeAfter != freeBefore); } public RuntimeTest() { diff --git a/luni/src/test/java/libcore/java/lang/OldRuntimeTest.java b/luni/src/test/java/libcore/java/lang/OldRuntimeTest.java index 0926569..294cea2 100644 --- a/luni/src/test/java/libcore/java/lang/OldRuntimeTest.java +++ b/luni/src/test/java/libcore/java/lang/OldRuntimeTest.java @@ -34,28 +34,6 @@ public class OldRuntimeTest extends junit.framework.TestCase { InputStream is; - public void test_freeMemory() { - // Heap might grow or do GC at any time, - // so we can't really test a lot. Hence - // we are just doing some basic sanity - // checks here. - assertTrue("must have some free memory", - r.freeMemory() > 0); - - assertTrue("must not exceed total memory", - r.freeMemory() < r.totalMemory()); - - long before = r.totalMemory() - r.freeMemory(); - Vector<byte[]> v = new Vector<byte[]>(); - for (int i = 1; i < 10; i++) { - v.addElement(new byte[10000]); - } - long after = r.totalMemory() - r.freeMemory(); - - assertTrue("free memory must change with allocations", - after != before); - } - public void test_getRuntime() { // Test for method java.lang.Runtime java.lang.Runtime.getRuntime() assertNotNull(Runtime.getRuntime()); @@ -451,10 +429,6 @@ public class OldRuntimeTest extends junit.framework.TestCase { } } - public void test_maxMemory() { - assertTrue(Runtime.getRuntime().maxMemory() < Long.MAX_VALUE); - } - public void test_traceInstructions() { Runtime.getRuntime().traceInstructions(false); Runtime.getRuntime().traceInstructions(true); |