ci: add afl fuzz stage
fuzz for 1 min to quickly detect e.g. incorrect asserts
This commit is contained in:
parent
fb663da761
commit
01d8c0015e
2 changed files with 22 additions and 0 deletions
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
|
@ -63,3 +63,18 @@ jobs:
|
|||
rustup component add clippy
|
||||
- name: "Check linting"
|
||||
run: make lint
|
||||
fuzz:
|
||||
name: Fuzz
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: actions/checkout@v3
|
||||
- name: "Setup toolchain"
|
||||
run: |
|
||||
rustup update nightly
|
||||
rustup default nightly
|
||||
cargo install afl
|
||||
- name: "Fuzz"
|
||||
run: |
|
||||
echo core | sudo tee /proc/sys/kernel/core_pattern
|
||||
make afl_quick
|
||||
|
|
7
Makefile
7
Makefile
|
@ -68,6 +68,13 @@ afl:
|
|||
trap - EXIT;\
|
||||
cat) # keep process alive for trap
|
||||
|
||||
afl_quick:
|
||||
rm -rf tests/afl/out
|
||||
(cd tests/afl && \
|
||||
cargo afl build --release --config profile.release.debug-assertions=true && \
|
||||
AFL_NO_UI=1 AFL_BENCH_UNTIL_CRASH=1 \
|
||||
cargo afl fuzz -i in -o out -V 60 target/release/${AFL_TARGET})
|
||||
|
||||
afl_crash:
|
||||
set +e; \
|
||||
for f in $$(find tests/afl/out -path '*/${AFL_TARGET_CRASH}/id*'); do \
|
||||
|
|
Loading…
Reference in a new issue