datafusion-sqlparse/fuzz
Chojan Shang 1e65984613 test: add fuzzer
Signed-off-by: Chojan Shang <psiace@outlook.com>
2021-06-03 14:00:16 +08:00
..
fuzz_targets test: add fuzzer 2021-06-03 14:00:16 +08:00
.gitignore test: add fuzzer 2021-06-03 14:00:16 +08:00
Cargo.toml test: add fuzzer 2021-06-03 14:00:16 +08:00
README.md test: add fuzzer 2021-06-03 14:00:16 +08:00

fuzz

Installing honggfuzz

cargo install honggfuzz

Install dependencies for your system.

Fuzzing

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