diff --git a/test/de/inetsoftware/jwebassembly/ScriptEngine.java b/test/de/inetsoftware/jwebassembly/ScriptEngine.java index 81acc47..e584f89 100644 --- a/test/de/inetsoftware/jwebassembly/ScriptEngine.java +++ b/test/de/inetsoftware/jwebassembly/ScriptEngine.java @@ -27,10 +27,20 @@ public enum ScriptEngine { NodeWat, SpiderMonkeyWat, Wat2Wasm, - SpiderMonkeyGC, - SpiderMonkeyWatGC, + SpiderMonkeyGC(true), + SpiderMonkeyWatGC(true), ; + public final String useGC; + + private ScriptEngine() { + this.useGC = null; + } + + private ScriptEngine( boolean useGC ) { + this.useGC = Boolean.toString( useGC ); + } + public static ScriptEngine[] testEngines() { ScriptEngine[] val = { // SpiderMonkey, // diff --git a/test/de/inetsoftware/jwebassembly/WasmRule.java b/test/de/inetsoftware/jwebassembly/WasmRule.java index 936953e..67c854f 100644 --- a/test/de/inetsoftware/jwebassembly/WasmRule.java +++ b/test/de/inetsoftware/jwebassembly/WasmRule.java @@ -485,6 +485,7 @@ public class WasmRule extends TemporaryFolder { writeJsonTestData( Collections.singletonMap( methodName, params ) ); } + compiler.setProperty( JWebAssembly.WASM_USE_GC, script.useGC ); processBuilder = createCommand( script ); processBuilder.directory( getRoot() ); Process process = processBuilder.start(); @@ -540,7 +541,6 @@ public class WasmRule extends TemporaryFolder { if( binary ) { if( spiderMonkeyScriptGC == null ) { File file = newFile( "spiderMonkeyGC.wasm" ); - compiler.setProperty( JWebAssembly.WASM_USE_GC, "true" ); compiler.compileToBinary( file ); spiderMonkeyScriptGC = createScript( "SpiderMonkeyTest.js", "{test.wasm}", file.getName() ); } @@ -548,7 +548,6 @@ public class WasmRule extends TemporaryFolder { } else { if( spiderMonkeyScriptWatGC == null ) { File file = newFile( "spiderMonkeyGC.wat" ); - compiler.setProperty( JWebAssembly.WASM_USE_GC, "true" ); compiler.compileToText( file ); spiderMonkeyScriptWatGC = createScript( "SpiderMonkeyWatTest.js", "{test}", "spiderMonkeyGC" ); } @@ -572,7 +571,6 @@ public class WasmRule extends TemporaryFolder { } } } finally { - compiler.setProperty( JWebAssembly.WASM_USE_GC, null ); System.clearProperty( "SpiderMonkey" ); } ProcessBuilder process = new ProcessBuilder( spiderMonkey.getCommand(), script.getAbsolutePath() );