From dd01ad10b280c789f26ee091eb932c17d03882d4 Mon Sep 17 00:00:00 2001 From: Volker Berlin Date: Wed, 18 Mar 2020 22:23:45 +0100 Subject: [PATCH] generalize the use of the flag useGC --- .../de/inetsoftware/jwebassembly/ScriptEngine.java | 14 ++++++++++++-- test/de/inetsoftware/jwebassembly/WasmRule.java | 4 +--- 2 files changed, 13 insertions(+), 5 deletions(-) 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() );