From b27b7dbc80a6160a80b68e902a477b6eddd95587 Mon Sep 17 00:00:00 2001 From: gnrunge <41129501+gnrunge@users.noreply.github.com> Date: Wed, 22 May 2019 13:02:31 -0700 Subject: [PATCH] Replaces explicit listing of fuzzer target and corpus files with generic (#2455) detection of these files using wildcards. --- projects/icu/build.sh | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/projects/icu/build.sh b/projects/icu/build.sh index 744cc55d2..db040a667 100755 --- a/projects/icu/build.sh +++ b/projects/icu/build.sh @@ -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/