Commit Graph

80 Commits

Author SHA1 Message Date
Nick Lewycky
6925429185 Include fuzz/ in fmt and clippy. 2021-03-19 14:41:43 -07:00
Nick Lewycky
cd645baa12 Return an error, rather than using Try + unreachable!. 2021-03-18 10:16:57 -07:00
Nick Lewycky
df625e7de7 Initial commit of equivalence testing across the three compilers. 2021-03-18 01:43:10 -07:00
Nick Lewycky
f5fc209e66 Add a fuzz test that instantiates a module with metering. 2021-03-16 14:26:07 -07:00
Nick Lewycky
83e0e7eb3a Generate modules without a startfunc.
The start function can contain unreachable instructions which triggers a trap and looks like instantiation failed. Instantiation did fail, but not for reasons we're interested in.
2021-03-15 18:39:01 -07:00
Nick Lewycky
40fcc04852 Add workaround for issue #2187 where memory type has 65536 pages.
Detect and ignore more errors from singlepass about multi-value returns.
2021-03-15 18:16:32 -07:00
Nick Lewycky
d781b3e550 Ignore error setting table element out of range. 2021-03-15 14:12:52 -07:00
Nick Lewycky
0e1d4bef50 Ignore error setting data in memory out of range.
This wasm module is valid:
```
(module
  (memory (;0;) 0)
  (data (;0;) (i32.const 34) ""))
```
and we want to just ignore that problem.
2021-03-15 13:45:07 -07:00
Nick Lewycky
3474959054 Update the readme to account for changes due to wasm-smith. 2021-03-15 13:36:00 -07:00
Nick Lewycky
400d99f1b5 Configure wasm-smith to generate no imports to match our empty import object. 2021-03-15 13:18:33 -07:00
Nick Lewycky
fe8a94d531 Singlepass doesn't support multi-value returns, ignore those errors. 2021-03-15 12:46:56 -07:00
Nick Lewycky
828ac36806 Switch compilation tests to wasm-smith which always generates valid modules.
Update to newer libfuzzer-sys and use a versioned crates instead of a git repository.

Delete "headless_cranelift.rs" which is an older copy of native_cranelift.rs and wasn't referenced in the Cargo.toml.
2021-03-15 11:52:38 -07:00
Syrus
13e6f29c29 Set compiler config to be owned (following wasm-c-api) 2020-12-04 02:39:19 -08:00
Nick Lewycky
fadd5d6699 Remove nearly-all mentions of reborn. 2020-08-13 11:32:14 -07:00
Nick Lewycky
c517c807ce Initial commit of fuzzers with cargo fuzz.
Trophies:
  * https://github.com/wasmerio/wasmer-reborn/issues/174
  * https://github.com/bytecodealliance/wasm-tools/issues/58
2020-07-17 14:52:10 -07:00
Syrus
d750d6f30d First version of Wasmer Reborn 2020-08-13 15:03:29 -07:00
Mark McCaskey
d8bd258ef2 Add skeleton of exported api 2020-03-23 17:53:01 -07:00
bors[bot]
23c9dbd9f3 Merge #938
938: Fuzz all the backends. r=nlewycky a=nlewycky

![](https://i.imgflip.com/3fq2bw.jpg)


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-11-08 23:54:53 +00:00
Nick Lewycky
6370e11034 Fuzz all the backends. 2019-11-08 11:10:44 -08:00
Nick Lewycky
37268b2f46 Pass --enable-all to wasm2json when building corpus out of spectests. 2019-11-08 10:41:42 -08:00
Patrick Ventuzelo
c6f8ab37f1 fix typo 2019-09-09 11:50:30 +02:00
Patrick Ventuzelo
c7b9dab690 add return line Cargo.toml 2019-09-09 11:49:27 +02:00
Patrick Ventuzelo
599ecb7ae6 add new fuzzer for compile method 2019-09-09 11:45:24 +02:00
Nick Lewycky
4ce2e2c56d cargo fmt + adjust comment. 2019-09-03 15:26:48 -07:00
Patrick Ventuzelo
afa6d6f52c [formatting] add new line validate_wasm.rs 2019-09-02 11:14:40 +02:00
Patrick Ventuzelo
9ba77aa1fc [formating] add new line Cargo.toml 2019-09-02 11:14:05 +02:00
Patrick Ventuzelo
f0bd680343 validate_wasm fuzzer 2019-09-02 11:08:40 +02:00
Nick Lewycky
e076568168 Add instructions on how to seed the fuzzer corpus from the spec tests. 2019-07-29 11:48:52 -07:00
Nick Lewycky
46f3a9f5e4 Add a readme. 2019-07-13 18:41:06 -07:00
Nick Lewycky
5c0ede0b42 Initial commit of a fuzzer. Run with "cargo fuzz run simple_instantiate".
Used to discover issue #558.

We'll probably want to reconsider the default .gitignore of the artifacts and corpus directories. The fuzzer wastes a lot of time not having even a single exampel of a valid .wasm file to start with.
2019-07-13 17:57:30 -07:00