diff --git a/tests/roles/custom-test-fonts/files/run-lang-coverage-test b/tests/roles/custom-test-fonts/files/run-lang-coverage-test index 5658cfd..1c91cf6 100755 --- a/tests/roles/custom-test-fonts/files/run-lang-coverage-test +++ b/tests/roles/custom-test-fonts/files/run-lang-coverage-test @@ -18,6 +18,7 @@ Options: -v, --verbose Turn on debug -l, --lang=LANG Test LANG language coverage (default: en) -p, --path=PATH Test fonts on PATH +-n, --name=NAME Set NAME to store a log file. -a, --artifactsdir=DIR test environment dir to store artifacts -e, --exclude=FILE Exclude FILE to check. -i, --include=FILE Include File to check. @@ -31,11 +32,16 @@ OPT_PATH="${OPT_PATH:-}" OPT_ARTIFACTS_DIR="${OPT_ARTIFACTS_DIR:-}" OPT_EXCLUDE=() OPT_INCLUDE=() +OPT_NAME="${OPT_NAME:-}" -opt=$(getopt -n "$0" --options "hvl:p:t:a:e:i:" --longoptions "help,verbose,lang:,path:,test:,artifactsdir:,exclude:,include:" -- "$@") +opt=$(getopt -n "$0" --options "hvl:p:n:a:e:i:" --longoptions "help,verbose,lang:,path:,name:,artifactsdir:,exclude:,include:" -- "$@") eval set -- "$opt" while [[ $# -gt 0 ]]; do case "$1" in + -n|--name) + OPT_NAME="$2" + shift 2 + ;; -i|--include) OPT_INCLUDE+=("$2") shift 2 @@ -83,7 +89,7 @@ debug "Lang: $OPT_LANG" debug "Artifacts dir: $OPT_ARTIFACTS_DIR" debug "Exclude: ${OPT_EXCLUDE[@]}" debug "Include: ${OPT_INCLUDE[@]}" -STR_TEST_DASHED=$(echo "$OPT_PATH" | sed -e 's/\//-/g') +STR_TEST_DASHED=$(echo "${OPT_NAME:-${OPT_LANG}_${OPT_PATH}}" | sed -e 's/\//-/g') clean_exit() { rc=$?; @@ -137,7 +143,7 @@ contains() { debug "Check language coverage" set +f -for i in `find $OPT_PATH -regex '.*/*\.\(t1\)?\(ttf\)?\(otf\)?\(ttc\)?\(pcf.*\)?'`; do +for i in `find $OPT_PATH -regex '.*/*\.\(t1\)?\(ttf\)?\(otf\)?\(ttc\)?\(pcf.*\)?\(pfa\)?'`; do set -f debug "$i" if test -f $i; then @@ -150,13 +156,15 @@ set -f debug "ignoring $i" continue fi - set +e - contains "$n" "${OPT_INCLUDE[@]}" - ret=$? - set -e - if [ $ret -eq 0 ]; then - debug "$i isn't targeted file" - continue + if [ ${#OPT_INCLUDE[@]} -ne 0 ]; then + set +e + contains "$n" "${OPT_INCLUDE[@]}" + ret=$? + set -e + if [ $ret -eq 0 ]; then + debug "$i isn't targeted file" + continue + fi fi debug " $i" res=`fc-validate -l $OPT_LANG $i` diff --git a/tests/roles/custom-test-fonts/tasks/main.yml b/tests/roles/custom-test-fonts/tasks/main.yml index 44830cb..f4c4ce0 100644 --- a/tests/roles/custom-test-fonts/tasks/main.yml +++ b/tests/roles/custom-test-fonts/tasks/main.yml @@ -2,7 +2,7 @@ - block: - name: language coverage - script: run-lang-coverage-test --lang "{{ item }}" --path "{{ path_prefix }}" --artifactsdir "{{ remote_artifacts }}" {{ "" if coverage.values is not defined or coverage[item].ignore is not defined else "--exclude " + (coverage[item].ignore | join('--exclude ')) }} {{ "" if coverage.values is not defined or coverage[item].include is not defined else "--include " + (coverage[item].include | join('--include ')) }} + script: run-lang-coverage-test --lang "{{ item }}" --path "{{ path_prefix }}" --artifactsdir "{{ remote_artifacts }}" {{ "" if coverage.values is not defined or coverage[item].name is not defined else "--name " + coverage[item].name }} {{ "" if coverage.values is not defined or coverage[item].exclude is not defined else "--exclude " + (coverage[item].exclude | join('--exclude ')) }} {{ "" if coverage.values is not defined or coverage[item].include is not defined else "--include " + (coverage[item].include | join('--include ')) }} with_items: - "{{ coverage if coverage.keys is not defined else coverage.keys()|list }}" - name: generic family assignment