datafusion-sqlparse/docs/fuzzing.md
Chojan Shang 0c52491191 docs: fuzzing
Signed-off-by: Chojan Shang <psiace@outlook.com>
2021-06-03 14:10:15 +08:00

766 B

Fuzzing

Installing honggfuzz

cargo install honggfuzz

Install dependencies for your system.

Running the fuzzer

Running the fuzzer is as easy as running in the fuzz directory.

Choose a target:

These are [[bin]] entries in Cargo.toml. List them with cargo read-manifest | jq '.targets[].name' from the fuzz directory.

Run the fuzzer:

cd fuzz
cargo hfuzz run <target>

After a panic is found, get a stack trace with:

cargo hfuzz run-debug <target> hfuzz_workspace/<target>/*.fuzz

For example, with the fuzz_parse_sql target:

cargo hfuzz run fuzz_parse_sql
cargo hfuzz run-debug fuzz_parse_sql hfuzz_workspace/fuzz_parse_sql/*.fuzz