Replaces explicit listing of fuzzer target and corpus files with generic (#2455)

detection of these files using wildcards.
This commit is contained in:
gnrunge 2019-05-22 13:02:31 -07:00 committed by Abhishek Arya
parent 34a719c97f
commit b27b7dbc80
1 changed files with 10 additions and 21 deletions

View File

@ -36,34 +36,23 @@ make -j$(nproc)
$CXX $CXXFLAGS -std=c++11 -c $SRC/icu/icu4c/source/test/fuzzer/locale_util.cc \
-I$SRC/icu4c/source/test/fuzzer
FUZZERS="break_iterator_fuzzer \
converter_fuzzer \
locale_fuzzer \
number_format_fuzzer \
ucasemap_fuzzer \
uloc_canonicalize_fuzzer \
uloc_for_language_tag_fuzzer \
uloc_get_name_fuzzer \
uloc_is_right_to_left_fuzzer \
uloc_open_keywords_fuzzer \
unicode_string_codepage_create_fuzzer \
uregex_open_fuzzer
"
FUZZER_PATH=$SRC/icu/icu4c/source/test/fuzzer
# Assumes that all fuzzers files end with'_fuzzer.cc'.
FUZZERS=$FUZZER_PATH/*_fuzzer.cc
for fuzzer in $FUZZERS; do
file=${fuzzer:${#FUZZER_PATH}+1}
$CXX $CXXFLAGS -std=c++11 \
$SRC/icu/icu4c/source/test/fuzzer/$fuzzer.cc -o $OUT/$fuzzer locale_util.o \
$fuzzer -o $OUT/${file/.cc/} locale_util.o \
-I$SRC/icu/icu4c/source/common -I$SRC/icu/icu4c/source/i18n -L$WORK/icu/lib \
$LIB_FUZZING_ENGINE -licui18n -licuuc -licutu -licudata
done
CORPUS="uloc_canonicalize_fuzzer_seed_corpus \
uloc_for_language_tag_fuzzer_seed_corpus \
uloc_get_name_fuzzer_seed_corpus \
uloc_is_right_to_left_fuzzer_seed_corpus \
uloc_open_keywords_fuzzer_seed_corpus
"
# Assumes that all seed files end with '*_fuzzer_seed_corpus.txt'.
CORPUS=$SRC/icu/icu4c/source/test/fuzzer/*_fuzzer_seed_corpus.txt
for corpus in $CORPUS; do
zip $OUT/$corpus.zip $SRC/icu/icu4c/source/test/fuzzer/$corpus.txt
zipfile=${corpus:${#FUZZER_PATH}+1}
zip $OUT/${zipfile/.txt/.zip} $corpus
done
cp $SRC/icu/icu4c/source/test/fuzzer/*.dict $OUT/