releasing the compiled code as soon as it is no longer needed to prevent OutOfMemoryError when adding more and more tests
1.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java Wed Feb 27 23:40:32 2013 +0100
1.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java Thu Feb 28 07:48:54 2013 +0100
1.3 @@ -18,6 +18,7 @@
1.4 package org.apidesign.vm4brwsr;
1.5
1.6 import static org.testng.Assert.*;
1.7 +import org.testng.annotations.AfterClass;
1.8 import org.testng.annotations.BeforeClass;
1.9 import org.testng.annotations.Test;
1.10
1.11 @@ -81,6 +82,10 @@
1.12 public void compileTheCode() throws Exception {
1.13 code = TestVM.compileClass("org/apidesign/vm4brwsr/Array");
1.14 }
1.15 + @AfterClass
1.16 + public static void releaseTheCode() {
1.17 + code = null;
1.18 + }
1.19 private static void assertExec(String msg, Class clazz, String method, Object expRes, Object... args) throws Exception {
1.20 code.assertExec(msg, clazz, method, expRes, args);
1.21 }
2.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java Wed Feb 27 23:40:32 2013 +0100
2.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java Thu Feb 28 07:48:54 2013 +0100
2.3 @@ -19,6 +19,7 @@
2.4
2.5 import org.testng.annotations.Test;
2.6 import static org.testng.Assert.*;
2.7 +import org.testng.annotations.AfterClass;
2.8 import org.testng.annotations.BeforeClass;
2.9
2.10 /**
2.11 @@ -190,6 +191,10 @@
2.12 public void compileTheCode() throws Exception {
2.13 code = TestVM.compileClass("org/apidesign/vm4brwsr/Classes");
2.14 }
2.15 + @AfterClass
2.16 + public static void releaseTheCode() {
2.17 + code = null;
2.18 + }
2.19
2.20 private void assertExec(
2.21 String msg, Class clazz, String method, Object expRes, Object... args
2.22 @@ -202,5 +207,5 @@
2.23 true
2.24 );
2.25 }
2.26 -
2.27 +
2.28 }
3.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ExceptionsTest.java Wed Feb 27 23:40:32 2013 +0100
3.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ExceptionsTest.java Thu Feb 28 07:48:54 2013 +0100
3.3 @@ -19,6 +19,7 @@
3.4
3.5 import javax.script.ScriptException;
3.6 import static org.testng.Assert.*;
3.7 +import org.testng.annotations.AfterClass;
3.8 import org.testng.annotations.BeforeClass;
3.9 import org.testng.annotations.Test;
3.10
3.11 @@ -108,6 +109,10 @@
3.12 public void compileTheCode() throws Exception {
3.13 code = TestVM.compileClass("org/apidesign/vm4brwsr/Exceptions");
3.14 }
3.15 + @AfterClass
3.16 + public static void releaseTheCode() {
3.17 + code = null;
3.18 + }
3.19 private static void assertExec(String msg, Class clazz, String method, Object expRes, Object... args) throws Exception {
3.20 code.assertExec(msg, clazz, method, expRes, args);
3.21 }
4.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/InstanceTest.java Wed Feb 27 23:40:32 2013 +0100
4.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/InstanceTest.java Thu Feb 28 07:48:54 2013 +0100
4.3 @@ -17,6 +17,7 @@
4.4 */
4.5 package org.apidesign.vm4brwsr;
4.6
4.7 +import org.testng.annotations.AfterClass;
4.8 import org.testng.annotations.Test;
4.9 import org.testng.annotations.BeforeClass;
4.10
4.11 @@ -156,6 +157,10 @@
4.12 public void compileTheCode() throws Exception {
4.13 code = TestVM.compileClass(startCompilationWith());
4.14 }
4.15 + @AfterClass
4.16 + public static void releaseTheCode() {
4.17 + code = null;
4.18 + }
4.19
4.20 private void assertExec(
4.21 String msg, Class clazz, String method, Object expRes, Object... args
5.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java Wed Feb 27 23:40:32 2013 +0100
5.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java Thu Feb 28 07:48:54 2013 +0100
5.3 @@ -18,6 +18,7 @@
5.4 package org.apidesign.vm4brwsr;
5.5
5.6 import static org.testng.Assert.*;
5.7 +import org.testng.annotations.AfterClass;
5.8 import org.testng.annotations.BeforeClass;
5.9 import org.testng.annotations.Test;
5.10
5.11 @@ -145,9 +146,13 @@
5.12 private static TestVM code;
5.13
5.14 @BeforeClass
5.15 - public void compileTheCode() throws Exception {
5.16 + public static void compileTheCode() throws Exception {
5.17 code = TestVM.compileClass("org/apidesign/vm4brwsr/Numbers");
5.18 }
5.19 + @AfterClass
5.20 + public static void releaseTheCode() {
5.21 + code = null;
5.22 + }
5.23
5.24 private static void assertExec(
5.25 String msg, Class<?> clazz, String method, Object expRes, Object... args) throws Exception
6.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java Wed Feb 27 23:40:32 2013 +0100
6.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java Thu Feb 28 07:48:54 2013 +0100
6.3 @@ -18,6 +18,7 @@
6.4 package org.apidesign.vm4brwsr;
6.5
6.6 import static org.testng.Assert.*;
6.7 +import org.testng.annotations.AfterClass;
6.8 import org.testng.annotations.BeforeClass;
6.9 import org.testng.annotations.Test;
6.10
6.11 @@ -324,10 +325,14 @@
6.12 private static TestVM code;
6.13
6.14 @BeforeClass
6.15 - public void compileTheCode() throws Exception {
6.16 + public static void compileTheCode() throws Exception {
6.17 StringBuilder sb = new StringBuilder();
6.18 code = TestVM.compileClass(sb, "org/apidesign/vm4brwsr/StaticMethod");
6.19 }
6.20 + @AfterClass
6.21 + public static void releaseTheCode() {
6.22 + code = null;
6.23 + }
6.24
6.25 private void assertExec(
6.26 String msg, Class<?> clazz, String method,
7.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticUseSubTest.java Wed Feb 27 23:40:32 2013 +0100
7.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/StaticUseSubTest.java Thu Feb 28 07:48:54 2013 +0100
7.3 @@ -17,6 +17,7 @@
7.4 */
7.5 package org.apidesign.vm4brwsr;
7.6
7.7 +import org.testng.annotations.AfterClass;
7.8 import org.testng.annotations.BeforeClass;
7.9 import org.testng.annotations.Test;
7.10
7.11 @@ -32,6 +33,10 @@
7.12 StringBuilder sb = new StringBuilder();
7.13 code = TestVM.compileClass(sb, "org/apidesign/vm4brwsr/StaticUseSub");
7.14 }
7.15 + @AfterClass
7.16 + public static void releaseTheCode() {
7.17 + code = null;
7.18 + }
7.19
7.20 @Test public void getInheritedStaticField() throws Exception {
7.21 code.assertExec(
8.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java Wed Feb 27 23:40:32 2013 +0100
8.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java Thu Feb 28 07:48:54 2013 +0100
8.3 @@ -19,6 +19,7 @@
8.4
8.5 import org.testng.annotations.Test;
8.6 import static org.testng.Assert.*;
8.7 +import org.testng.annotations.AfterClass;
8.8 import org.testng.annotations.BeforeClass;
8.9
8.10 /**
8.11 @@ -196,12 +197,16 @@
8.12 private static TestVM code;
8.13
8.14 @BeforeClass
8.15 - public void compileTheCode() throws Exception {
8.16 + public static void compileTheCode() throws Exception {
8.17 code = TestVM.compileClass(
8.18 "org/apidesign/vm4brwsr/StringSample",
8.19 "java/lang/String"
8.20 );
8.21 }
8.22 + @AfterClass
8.23 + public static void releaseTheCode() {
8.24 + code = null;
8.25 + }
8.26
8.27 private static void assertExec(String msg,
8.28 Class<?> clazz, String method, Object expRes, Object... args
9.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/SystemTest.java Wed Feb 27 23:40:32 2013 +0100
9.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/SystemTest.java Thu Feb 28 07:48:54 2013 +0100
9.3 @@ -19,6 +19,7 @@
9.4
9.5 import org.testng.annotations.BeforeClass;
9.6 import static org.testng.Assert.*;
9.7 +import org.testng.annotations.AfterClass;
9.8 import org.testng.annotations.Test;
9.9
9.10 /**
9.11 @@ -51,6 +52,10 @@
9.12 code = TestVM.compileClass(
9.13 "org/apidesign/bck2brwsr/emul/lang/System");
9.14 }
9.15 + @AfterClass
9.16 + public static void releaseTheCode() {
9.17 + code = null;
9.18 + }
9.19
9.20 }
9.21
10.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/VMLazyTest.java Wed Feb 27 23:40:32 2013 +0100
10.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/VMLazyTest.java Thu Feb 28 07:48:54 2013 +0100
10.3 @@ -22,6 +22,7 @@
10.4 import javax.script.ScriptException;
10.5 import org.testng.annotations.BeforeClass;
10.6 import static org.testng.Assert.*;
10.7 +import org.testng.annotations.AfterClass;
10.8 import org.testng.annotations.Test;
10.9
10.10 /** Implements loading class by class.
10.11 @@ -32,7 +33,7 @@
10.12 private static TestVM code;
10.13
10.14 @BeforeClass
10.15 - public void compileTheCode() throws Exception {
10.16 + public static void compileTheCode() throws Exception {
10.17 StringBuilder sb = new StringBuilder();
10.18 sb.append("\nvar data = {};");
10.19 sb.append("\nfunction test(clazz, method) {");
10.20 @@ -51,6 +52,10 @@
10.21 );
10.22 arr[0].getContext().setAttribute("loader", new BytesLoader(), ScriptContext.ENGINE_SCOPE);
10.23 }
10.24 + @AfterClass
10.25 + public static void releaseTheCode() {
10.26 + code = null;
10.27 + }
10.28
10.29 @Test public void invokeStaticMethod() throws Exception {
10.30 assertExec("Trying to get -1", "test", Double.valueOf(-1),
11.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/VMinVMTest.java Wed Feb 27 23:40:32 2013 +0100
11.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/VMinVMTest.java Thu Feb 28 07:48:54 2013 +0100
11.3 @@ -21,6 +21,7 @@
11.4 import java.io.FileWriter;
11.5 import java.io.IOException;
11.6 import static org.testng.Assert.*;
11.7 +import org.testng.annotations.AfterClass;
11.8 import org.testng.annotations.BeforeClass;
11.9 import org.testng.annotations.Test;
11.10
11.11 @@ -40,9 +41,13 @@
11.12 }
11.13
11.14 @BeforeClass
11.15 - public void compileTheCode() throws Exception {
11.16 + public static void compileTheCode() throws Exception {
11.17 code = TestVM.compileClass("org/apidesign/vm4brwsr/VMinVM");
11.18 }
11.19 + @AfterClass
11.20 + public static void releaseTheCode() {
11.21 + code = null;
11.22 + }
11.23
11.24 private void compareCode(final String nm) throws Exception, IOException {
11.25 byte[] arr = BytesLoader.readClass(nm);