# HG changeset patch # User Jaroslav Tulach # Date 1362034134 -3600 # Node ID bb75065133539582e364805e3a619831a0fe1bb8 # Parent bced0d6a7b2011a2db15c9137898289055e88308 releasing the compiled code as soon as it is no longer needed to prevent OutOfMemoryError when adding more and more tests diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -18,6 +18,7 @@ package org.apidesign.vm4brwsr; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -81,6 +82,10 @@ public void compileTheCode() throws Exception { code = TestVM.compileClass("org/apidesign/vm4brwsr/Array"); } + @AfterClass + public static void releaseTheCode() { + code = null; + } private static void assertExec(String msg, Class clazz, String method, Object expRes, Object... args) throws Exception { code.assertExec(msg, clazz, method, expRes, args); } diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -19,6 +19,7 @@ import org.testng.annotations.Test; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; /** @@ -190,6 +191,10 @@ public void compileTheCode() throws Exception { code = TestVM.compileClass("org/apidesign/vm4brwsr/Classes"); } + @AfterClass + public static void releaseTheCode() { + code = null; + } private void assertExec( String msg, Class clazz, String method, Object expRes, Object... args @@ -202,5 +207,5 @@ true ); } - + } diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/ExceptionsTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ExceptionsTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ExceptionsTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -19,6 +19,7 @@ import javax.script.ScriptException; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -108,6 +109,10 @@ public void compileTheCode() throws Exception { code = TestVM.compileClass("org/apidesign/vm4brwsr/Exceptions"); } + @AfterClass + public static void releaseTheCode() { + code = null; + } private static void assertExec(String msg, Class clazz, String method, Object expRes, Object... args) throws Exception { code.assertExec(msg, clazz, method, expRes, args); } diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/InstanceTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/InstanceTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/InstanceTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -17,6 +17,7 @@ */ package org.apidesign.vm4brwsr; +import org.testng.annotations.AfterClass; import org.testng.annotations.Test; import org.testng.annotations.BeforeClass; @@ -156,6 +157,10 @@ public void compileTheCode() throws Exception { code = TestVM.compileClass(startCompilationWith()); } + @AfterClass + public static void releaseTheCode() { + code = null; + } private void assertExec( String msg, Class clazz, String method, Object expRes, Object... args diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -18,6 +18,7 @@ package org.apidesign.vm4brwsr; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -145,9 +146,13 @@ private static TestVM code; @BeforeClass - public void compileTheCode() throws Exception { + public static void compileTheCode() throws Exception { code = TestVM.compileClass("org/apidesign/vm4brwsr/Numbers"); } + @AfterClass + public static void releaseTheCode() { + code = null; + } private static void assertExec( String msg, Class clazz, String method, Object expRes, Object... args) throws Exception diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -18,6 +18,7 @@ package org.apidesign.vm4brwsr; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -324,10 +325,14 @@ private static TestVM code; @BeforeClass - public void compileTheCode() throws Exception { + public static void compileTheCode() throws Exception { StringBuilder sb = new StringBuilder(); code = TestVM.compileClass(sb, "org/apidesign/vm4brwsr/StaticMethod"); } + @AfterClass + public static void releaseTheCode() { + code = null; + } private void assertExec( String msg, Class clazz, String method, diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticUseSubTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticUseSubTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticUseSubTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -17,6 +17,7 @@ */ package org.apidesign.vm4brwsr; +import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -32,6 +33,10 @@ StringBuilder sb = new StringBuilder(); code = TestVM.compileClass(sb, "org/apidesign/vm4brwsr/StaticUseSub"); } + @AfterClass + public static void releaseTheCode() { + code = null; + } @Test public void getInheritedStaticField() throws Exception { code.assertExec( diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -19,6 +19,7 @@ import org.testng.annotations.Test; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; /** @@ -196,12 +197,16 @@ private static TestVM code; @BeforeClass - public void compileTheCode() throws Exception { + public static void compileTheCode() throws Exception { code = TestVM.compileClass( "org/apidesign/vm4brwsr/StringSample", "java/lang/String" ); } + @AfterClass + public static void releaseTheCode() { + code = null; + } private static void assertExec(String msg, Class clazz, String method, Object expRes, Object... args diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/SystemTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/SystemTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/SystemTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -19,6 +19,7 @@ import org.testng.annotations.BeforeClass; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.Test; /** @@ -51,6 +52,10 @@ code = TestVM.compileClass( "org/apidesign/bck2brwsr/emul/lang/System"); } + @AfterClass + public static void releaseTheCode() { + code = null; + } } diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/VMLazyTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/VMLazyTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/VMLazyTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -22,6 +22,7 @@ import javax.script.ScriptException; import org.testng.annotations.BeforeClass; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.Test; /** Implements loading class by class. @@ -32,7 +33,7 @@ private static TestVM code; @BeforeClass - public void compileTheCode() throws Exception { + public static void compileTheCode() throws Exception { StringBuilder sb = new StringBuilder(); sb.append("\nvar data = {};"); sb.append("\nfunction test(clazz, method) {"); @@ -51,6 +52,10 @@ ); arr[0].getContext().setAttribute("loader", new BytesLoader(), ScriptContext.ENGINE_SCOPE); } + @AfterClass + public static void releaseTheCode() { + code = null; + } @Test public void invokeStaticMethod() throws Exception { assertExec("Trying to get -1", "test", Double.valueOf(-1), diff -r bced0d6a7b20 -r bb7506513353 rt/vm/src/test/java/org/apidesign/vm4brwsr/VMinVMTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/VMinVMTest.java Wed Feb 27 23:40:32 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/VMinVMTest.java Thu Feb 28 07:48:54 2013 +0100 @@ -21,6 +21,7 @@ import java.io.FileWriter; import java.io.IOException; import static org.testng.Assert.*; +import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -40,9 +41,13 @@ } @BeforeClass - public void compileTheCode() throws Exception { + public static void compileTheCode() throws Exception { code = TestVM.compileClass("org/apidesign/vm4brwsr/VMinVM"); } + @AfterClass + public static void releaseTheCode() { + code = null; + } private void compareCode(final String nm) throws Exception, IOException { byte[] arr = BytesLoader.readClass(nm);