From e739c7e37697c50fefef0fe8bfef12460f646dcb Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Wed, 26 Jun 2024 17:19:07 +0900 Subject: [PATCH] lang_coverage: Add FONT_LANG_EXCLUDE_FILES to skip some bogus font files --- README.rst | 3 +++ tests/lang_coverage/test.sh | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 80f4fda..380c718 100644 --- a/README.rst +++ b/README.rst @@ -96,6 +96,9 @@ Available test cases - PACKAGE - FONT_LANG (optional) + - FONT_LANG_EXCLUDE_FILES (optional) + + Set a regex to skip some bogus font files. - Validate family name diff --git a/tests/lang_coverage/test.sh b/tests/lang_coverage/test.sh index 62384ca..59c6320 100755 --- a/tests/lang_coverage/test.sh +++ b/tests/lang_coverage/test.sh @@ -3,6 +3,7 @@ . /usr/share/beakerlib/beakerlib.sh || exit 1 FONT_LANG=${FONT_LANG:-"en"} +FONT_LANG_EXCLUDE_FILES=${FONT_LANG_EXCLUDE_FILES:-} PACKAGE=${PACKAGE:-"blahblah-fonts"} function get_font_path() { @@ -13,12 +14,21 @@ function get_font_path() { echo -n $ret } +function check_exception() { + if [ "x$FONT_LANG_EXCLUDE_FILES" == "x" ]; then + echo -n 1 + else + echo $1 | grep -E "$FONT_LANG_EXCLUDE_FILES" 2>&1 > /dev/null + echo -n $? + fi +} + function check_lang_coverage() { ret=0 for p in $(get_font_path); do for f in $(find $p -regex '.*/*\.\(t1\)?\(ttf\)?\(otf\)?\(ttc\)?\(otc\)?\(pcf.*\)?\(pfa\)?'); do set -f - if test -f $f; then + if [ $(check_exception $f) -ne 0 -a -f $f ]; then IFS=, read -ra langlist <<< "$FONT_LANG" for l in "${langlist[@]}"; do res=$(fc-validate -l $l $f || :) @@ -29,6 +39,8 @@ function check_lang_coverage() { echo $res fi done + else + rlLogInfo "Skipping $f" fi set +f done