2828
2929NANS = True
3030
31- FEATURE_OPTS = [] # '--all-features' etc
31+ # exceptions: https://github.com/WebAssembly/binaryen/issues/2195
32+ # simd: known issues with d8
33+ # atomics, bulk memory: doesn't work in wasm2js
34+ # truncsat: https://github.com/WebAssembly/binaryen/issues/2198
35+ FEATURE_OPTS = ['--all-features' , '--disable-exception-handling' , '--disable-simd' , '--disable-threads' , '--disable-bulk-memory' , '--disable-nontrapping-float-to-int' ]
3236
3337FUZZ_OPTS = []
3438
@@ -159,8 +163,8 @@ def handle_pair(self, before_wasm, after_wasm, opts):
159163# Run VMs and compare results
160164class CompareVMs (TestCaseHandler ):
161165 def handle_pair (self , before_wasm , after_wasm , opts ):
162- run ([in_bin ('wasm-opt' ), before_wasm , '--emit-js-wrapper=a.js' , '--emit-spec-wrapper=a.wat' ])
163- run ([in_bin ('wasm-opt' ), after_wasm , '--emit-js-wrapper=b.js' , '--emit-spec-wrapper=b.wat' ])
166+ run ([in_bin ('wasm-opt' ), before_wasm , '--emit-js-wrapper=a.js' , '--emit-spec-wrapper=a.wat' ] + FEATURE_OPTS )
167+ run ([in_bin ('wasm-opt' ), after_wasm , '--emit-js-wrapper=b.js' , '--emit-spec-wrapper=b.wat' ] + FEATURE_OPTS )
164168 before = self .run_vms ('a.js' , before_wasm )
165169 after = self .run_vms ('b.js' , after_wasm )
166170 self .compare_vs (before , after )
@@ -244,8 +248,8 @@ def run(self, wasm):
244248class Bysyncify (TestCaseHandler ):
245249 def handle_pair (self , before_wasm , after_wasm , opts ):
246250 # we must legalize in order to run in JS
247- run ([in_bin ('wasm-opt' ), before_wasm , '--legalize-js-interface' , '-o' , before_wasm ])
248- run ([in_bin ('wasm-opt' ), after_wasm , '--legalize-js-interface' , '-o' , after_wasm ])
251+ run ([in_bin ('wasm-opt' ), before_wasm , '--legalize-js-interface' , '-o' , before_wasm ] + FEATURE_OPTS )
252+ run ([in_bin ('wasm-opt' ), after_wasm , '--legalize-js-interface' , '-o' , after_wasm ] + FEATURE_OPTS )
249253 before = fix_output (run_d8 (before_wasm ))
250254 after = fix_output (run_d8 (after_wasm ))
251255
@@ -259,6 +263,7 @@ def do_bysyncify(wasm):
259263 cmd += ['--optimize-level=%d' % random .randint (1 , 3 )]
260264 if random .random () < 0.5 :
261265 cmd += ['--shrink-level=%d' % random .randint (1 , 2 )]
266+ cmd += FEATURE_OPTS
262267 run (cmd )
263268 out = run_d8 ('t.wasm' )
264269 # emit some status logging from bysyncify
0 commit comments