winch(fuzz): Initial support for differential fuzzing (#6281)
* winch(fuzz): Initial support for differential fuzzing This commit introduces initial support for differential fuzzing for Winch. In order to fuzz winch, this change introduces the `winch` cargo feature. When the `winch` cargo feature is enabled the differential fuzz target uses `wasmi` as the differential engine and `wasm-smith` and `single-inst` as the module sources. The intention behind this change is to have a *local* approach for fuzzing and verifying programs generated by Winch and to have an initial implementation that will allow us to eventually enable this change by default. Currently it's not worth it to enable this change by default given all the filtering that needs to happen to ensure that the generated modules are supported by Winch. It's worth noting that the Wasm filtering code will be temporary, until Winch reaches feature parity in terms of Wasm operators. * Check build targets with the `winch` feature flag * Rename fuzz target feature to `fuzz-winch`
This commit is contained in:
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@@ -351,6 +351,8 @@ jobs:
|
||||
- run: cargo fuzz build --dev -s none
|
||||
# Check that the ISLE fuzz targets build too.
|
||||
- run: cargo fuzz build --dev -s none --fuzz-dir ./cranelift/isle/fuzz
|
||||
# Check that winch fuzzing builds too.
|
||||
- run: cargo fuzz build --dev -s none --features fuzz-winch
|
||||
|
||||
# common logic to cancel the entire run if this job fails
|
||||
- run: gh run cancel ${{ github.run_id }}
|
||||
|
||||
Reference in New Issue
Block a user