aboutsummaryrefslogtreecommitdiffhomepage
path: root/projects/icu
diff options
context:
space:
mode:
authorGravatar gnrunge <41129501+gnrunge@users.noreply.github.com>2019-05-22 13:02:31 -0700
committerGravatar Abhishek Arya <inferno@chromium.org>2019-05-22 13:02:31 -0700
commitb27b7dbc80a6160a80b68e902a477b6eddd95587 (patch)
tree757b2cfdff7dcf602901f235fa3285d374e94590 /projects/icu
parent34a719c97f607d242ad5148ead23f16a8a11def4 (diff)
Replaces explicit listing of fuzzer target and corpus files with generic (#2455)
detection of these files using wildcards.
Diffstat (limited to 'projects/icu')
-rwxr-xr-xprojects/icu/build.sh31
1 files changed, 10 insertions, 21 deletions
diff --git a/projects/icu/build.sh b/projects/icu/build.sh
index 744cc55d..db040a66 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/