diff options
author | Alon Zakai <alonzakai@gmail.com> | 2019-04-10 10:16:57 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-10 10:16:57 -0700 |
commit | 7cc509f54a759034fbff57fae64e142ad15cc097 (patch) | |
tree | 9311e086d02a645707dbb5692119a5450e52b6c6 /scripts/fuzz_opt.py | |
parent | b13db5a0bc1170494ba845ab66129a506b251fde (diff) | |
download | binaryen-7cc509f54a759034fbff57fae64e142ad15cc097.tar.gz binaryen-7cc509f54a759034fbff57fae64e142ad15cc097.tar.bz2 binaryen-7cc509f54a759034fbff57fae64e142ad15cc097.zip |
Fuzz fixes (#1991)
Get fuzzer to attempt to create almost all features. Pass v8 all the flags to allow that.
Fix fuzz bugs where we read signed_ even when it was irrelevant for that type of load.
Improve wasm-reduce on fuzz testcases, try to replace a node with drops of its children, not just the children themselves.
Diffstat (limited to 'scripts/fuzz_opt.py')
-rw-r--r-- | scripts/fuzz_opt.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py index d3d2ea6e2..1cb561289 100644 --- a/scripts/fuzz_opt.py +++ b/scripts/fuzz_opt.py @@ -28,9 +28,21 @@ from test.shared import options NANS = True -FUZZ_OPTS = ['--mvp-features'] +FUZZ_OPTS = ['--all-features', '--disable-simd', '--disable-bulk-memory'] + +V8_OPTS = [ + '--experimental-wasm-eh', + '--experimental-wasm-mv', + '--experimental-wasm-sat-f2i-conversions', + '--experimental-wasm-se', + '--experimental-wasm-threads', + '--experimental-wasm-simd', + '--experimental-wasm-anyref', + '--experimental-wasm-bulk-memory', + '--experimental-wasm-return-call' +] -INPUT_SIZE_LIMIT = 250 * 1024 +INPUT_SIZE_LIMIT = 150 * 1024 LOG_LIMIT = 125 @@ -126,7 +138,7 @@ def run_vms(prefix): results = [] # append to this list to add results from VMs results += [fix_output(run_vm([in_bin('wasm-opt'), prefix + 'wasm', '--fuzz-exec-before']))] - results += [fix_output(run_vm([os.path.expanduser('d8'), prefix + 'js', '--', prefix + 'wasm']))] + results += [fix_output(run_vm([os.path.expanduser('d8'), prefix + 'js'] + V8_OPTS + ['--', prefix + 'wasm']))] # results += [fix_output(run_vm([os.path.expanduser('~/.jsvu/jsc'), prefix + 'js', '--', prefix + 'wasm']))] # spec has no mechanism to not halt on a trap. so we just check until the first trap, basically # run(['../spec/interpreter/wasm', prefix + 'wasm']) |