Skip to content

Commit 26e93a4

Browse files
authored
update fuzzer to use all features that pass fuzzing in all modes (which is currently just sign-ext...) (#2200)
1 parent e1d218f commit 26e93a4

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

scripts/fuzz_opt.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@
2828

2929
NANS = 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

3337
FUZZ_OPTS = []
3438

@@ -159,8 +163,8 @@ def handle_pair(self, before_wasm, after_wasm, opts):
159163
# Run VMs and compare results
160164
class 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):
244248
class 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

Comments
 (0)