test(fuzz): Bug fix? Make recursive-fuzz-cmin.sh clean up more conservatively

This commit is contained in:
Chris Hennick 2024-06-23 22:42:49 -07:00
parent 1140f71a88
commit 2f53dca454
No known key found for this signature in database
GPG key ID: DA47AABA4961C509

View file

@ -1,19 +1,22 @@
#!/bin/bash
i=0
find fuzz/corpus -iname "fuzz_$1_iter_*" -exec rm -r {} +
cp -r "fuzz/corpus/fuzz_$1" "fuzz/corpus/fuzz_$1_iter_0"
rm -rf "fuzz/corpus/fuzz_$1_iter_0" || true
mkdir "fuzz/corpus/fuzz_$1_iter_0"
find "fuzz/corpus/fuzz_$1" -exec mv '{}' "fuzz/corpus/fuzz_$1_iter_0" ';'
while true; do
j=$((i + 1))
rm -rf "fuzz/corpus/fuzz_$1_iter_${i}.bak" || true
cp -r "fuzz/corpus/fuzz_$1_iter_${i}" "fuzz/corpus/fuzz_$1_iter_${i}.bak"
rm -rf "fuzz/corpus/fuzz_$1_iter_${j}" || true
mkdir "fuzz/corpus/fuzz_$1_iter_${j}"
cargo fuzz cmin --all-features "fuzz_$1" "fuzz/corpus/fuzz_$1_iter_${i}" -- \
-dict=fuzz/fuzz.dict -max_len="$2" -rss_limit_mb=8192 -timeout=30 "fuzz/corpus/fuzz_$1_iter_${j}"
if diff "fuzz/corpus/fuzz_$1_iter_${i}.bak" "fuzz/corpus/fuzz_$1_iter_${j}"; then
# Last iteration made no difference, so we're done
rm -r "fuzz/corpus/fuzz_$1"
rm -rf "fuzz/corpus/fuzz_$1"
mkdir "fuzz/corpus/fuzz_$1"
find "fuzz/corpus/fuzz_$1_iter_${j}" -type f -exec mv '{}' "fuzz/corpus/fuzz_$1" ';'
find fuzz/corpus -iname "fuzz_$1_iter_*" -exec rm -r {} +
rm -rf "fuzz/corpus/fuzz_$1_iter_${i}.bak"
exit 0
fi
i=$j