feat(eth-wire): fuzzing wire encoding roundtrip (#350)

* move hello to separate file

* cargo fmt

* wip: actual fuzz test

 * should probably also take advantage of test-fuzz to generate
   benchmarks like impl_fuzzer_with_input

* impl generic roundtrip method

* generate test with macro

* change testname to fuzzname

* add reth-eth-wire to fuzz in ci

* add other message types to fuzz

* remove unused_crate_dependencies

 * was causing test issues, may want to revisit whether or not we can
   include this warning and still use test_fuzz

* more afl debugging ci

* use more explicit imports in fuzz_rlp

* impl Default for types and fuzz ping/pong

 * Default is necessary for test-fuzz to auto generate a corpus for each
   type we are fuzz testing

* enable AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES

 * not sure if we should do this in the workflow instead:
   echo core >/proc/sys/kernel/core_pattern

   we may miss crashes if we keep this enabled?

* remove reth-interfaces from fuzzing

* add secp256k1 to reth-db dev deps
This commit is contained in:
Dan Cline
2022-12-13 12:10:52 -05:00
committed by GitHub
parent dff3936b29
commit 1e38ffa5ad
18 changed files with 402 additions and 141 deletions

View File

@ -29,6 +29,7 @@ snap = "1.0.5"
smol_str = { version = "0.1", features = ["serde"] }
[dev-dependencies]
test-fuzz = "3.0.4"
reth-ecies = { path = "../ecies" }
ethers-core = { git = "https://github.com/gakonst/ethers-rs", default-features = false }