Dongjia "toka" Zhang 7a9f46b9fb
Remove nightly from CI. (#3232)
* stable ci

* fixer

* aa

* no -z flag

* doc

* ??

* this one needs

* nightly for some of them ..

* turn off fail fast for now 🥱

* aaa

* afasdfasfas

* mm

* tmate

* linker's fault

* fixer

* f

* dfsafdasfasf
2025-05-16 15:23:44 +02:00

60 lines
1.5 KiB
Makefile

FUZZER_NAME := 'libfuzzer_stb_image_sugar'
PROJECT_DIR := absolute_path(".")
CARGO_TARGET_DIR := env("CARGO_TARGET_DIR", "target")
PROFILE := env("PROFILE", "release")
PROFILE_DIR := if PROFILE == "release" { "release" } else if PROFILE == "dev" { "debug" } else { "debug" }
EXTENSION := if os() == "windows" {".exe"} else { "" }
LIBAFL_CC := PROJECT_DIR / CARGO_TARGET_DIR / PROFILE_DIR / "libafl_cc" + EXTENSION
LIBAFL_CXX := PROJECT_DIR / CARGO_TARGET_DIR / PROFILE_DIR / "libafl_cxx" + EXTENSION
FUZZER := PROJECT_DIR / CARGO_TARGET_DIR / PROFILE_DIR / FUZZER_NAME + EXTENSION
alias cc := cxx
cxx:
cargo build --profile {{PROFILE}}
fuzzer: cxx
#!/bin/bash
cargo build --profile {{PROFILE}}
{{LIBAFL_CC}} -o ./{{FUZZER_NAME}} harness.c -lglib-2.0 -lgio-2.0 -lgmodule-2.0
[linux]
[macos]
run: fuzzer
#!/bin/bash
./{{FUZZER_NAME}} &
sleep 0.2
[windows]
run: fuzzer
echo "Not integrated into just yet."
[linux]
[macos]
test: fuzzer
#!/bin/bash
success=0
rm -rf libafl_unix_shmem_server || true
timeout 5s ./{{FUZZER_NAME}} >fuzz_stdout.log
while read -r line; do
corpus_number=$(echo "$line" | cut -d' ' -f2)
if (( corpus_number > 50 )); then
success=1
fi
done < <(grep -o 'corpus: [0-9]\+' fuzz_stdout.log)
if [ "$success" -eq 1 ]; then
echo "Fuzzer is working!"
exit 0
else
echo "Fuzzer not working!"
exit 1
fi
clean:
#!/bin/bash
rm -f {{FUZZER_NAME}}
cargo clean