sync tests
This commit is contained in:
parent
647d0602ad
commit
7023e62d43
2 changed files with 29 additions and 5 deletions
|
|
@ -19,6 +19,7 @@ Options:
|
||||||
-l, --lang=LANG Test LANG language coverage (default: en)
|
-l, --lang=LANG Test LANG language coverage (default: en)
|
||||||
-p, --path=PATH Test fonts on PATH
|
-p, --path=PATH Test fonts on PATH
|
||||||
-a, --artifactsdir=DIR test environment dir to store artifacts
|
-a, --artifactsdir=DIR test environment dir to store artifacts
|
||||||
|
-i, --ignore=FILE Ignore FILE to check.
|
||||||
_EOF_
|
_EOF_
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -27,11 +28,16 @@ DEBUG="${DEBUG:-}"
|
||||||
OPT_LANG="${OPT_LANG:-en}"
|
OPT_LANG="${OPT_LANG:-en}"
|
||||||
OPT_PATH="${OPT_PATH:-}"
|
OPT_PATH="${OPT_PATH:-}"
|
||||||
OPT_ARTIFACTS_DIR="${OPT_ARTIFACTS_DIR:-}"
|
OPT_ARTIFACTS_DIR="${OPT_ARTIFACTS_DIR:-}"
|
||||||
|
OPT_IGNORE=()
|
||||||
|
|
||||||
opt=$(getopt -n "$0" --options "hvl:p:t:a:" --longoptions "help,verbose,lang:,path:,test:,artifactsdir:" -- "$@")
|
opt=$(getopt -n "$0" --options "hvl:p:t:a:i:" --longoptions "help,verbose,lang:,path:,test:,artifactsdir:,ignore:" -- "$@")
|
||||||
eval set -- "$opt"
|
eval set -- "$opt"
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
-i|--ignore)
|
||||||
|
OPT_IGNORE+=("$2")
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
-a|--artifactsdir)
|
-a|--artifactsdir)
|
||||||
OPT_ARTIFACTS_DIR="$2"
|
OPT_ARTIFACTS_DIR="$2"
|
||||||
shift 2
|
shift 2
|
||||||
|
|
@ -69,6 +75,7 @@ fi
|
||||||
debug "Path: $OPT_PATH"
|
debug "Path: $OPT_PATH"
|
||||||
debug "Lang: $OPT_LANG"
|
debug "Lang: $OPT_LANG"
|
||||||
debug "Artifacts dir: $OPT_ARTIFACTS_DIR"
|
debug "Artifacts dir: $OPT_ARTIFACTS_DIR"
|
||||||
|
debug "Ignore: ${OPT_IGNORE[@]}"
|
||||||
STR_TEST_DASHED=$(echo "$OPT_PATH" | sed -e 's/\//-/g')
|
STR_TEST_DASHED=$(echo "$OPT_PATH" | sed -e 's/\//-/g')
|
||||||
|
|
||||||
clean_exit() {
|
clean_exit() {
|
||||||
|
|
@ -114,11 +121,28 @@ logfile_stdout="$OPT_ARTIFACTS_DIR/$STR_TEST_DASHED.log"
|
||||||
logfile_stderr="$OPT_ARTIFACTS_DIR/$STR_TEST_DASHED-err.log"
|
logfile_stderr="$OPT_ARTIFACTS_DIR/$STR_TEST_DASHED-err.log"
|
||||||
exec 3>&1 4>&2 1> >(tee -a "$logfile_stdout" >&3) 2> >(tee -a "$logfile_stderr" >&4)
|
exec 3>&1 4>&2 1> >(tee -a "$logfile_stdout" >&3) 2> >(tee -a "$logfile_stderr" >&4)
|
||||||
|
|
||||||
|
contains() {
|
||||||
|
local e match="$1"
|
||||||
|
shift
|
||||||
|
for e; do [[ "$e" == "$match" ]] && return 1; done
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
debug "Check language coverage"
|
debug "Check language coverage"
|
||||||
set +f
|
set +f
|
||||||
for i in $OPT_PATH/*.t1 $OPT_PATH/*.ttf $OPT_PATH/*.otf $OPT_PATH/*.ttf $OPT_PATH/*.ttc; do
|
for i in $OPT_PATH/*.t1 $OPT_PATH/*.ttf $OPT_PATH/*.otf $OPT_PATH/*.ttc; do
|
||||||
set -f
|
set -f
|
||||||
|
echo $i
|
||||||
if test -f $i; then
|
if test -f $i; then
|
||||||
|
n=`basename $i`
|
||||||
|
set +e
|
||||||
|
contains "$n" "${OPT_IGNORE[@]}"
|
||||||
|
ret=$?
|
||||||
|
set -e
|
||||||
|
if [ $ret -eq 1 ]; then
|
||||||
|
debug "ignoring $i"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
debug " $i"
|
debug " $i"
|
||||||
res=`fc-validate -l $OPT_LANG $i`
|
res=`fc-validate -l $OPT_LANG $i`
|
||||||
if echo $res | grep -q Missing; then
|
if echo $res | grep -q Missing; then
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: language coverage
|
- name: language coverage
|
||||||
script: run-lang-coverage-test --lang "{{ item }}" --path "{{ path_prefix }}" --artifactsdir "{{ remote_artifacts }}"
|
script: run-lang-coverage-test --lang "{{ item }}" --path "{{ path_prefix }}" --artifactsdir "{{ remote_artifacts }}" {{ "" if coverage.values is not defined and coverage[item].ignore is not defined else "--ignore " + (coverage[item].ignore | join('--ignore ')) }}
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ coverage }}"
|
- "{{ coverage if coverage.keys is not defined else coverage.keys()|list }}"
|
||||||
- name: generic family assignment
|
- name: generic family assignment
|
||||||
script: run-family-test --lang {{ item.lang }} --family '{{ item.family }}' --alias {{ item.alias }} --artifactsdir {{ remote_artifacts }} --package {{ package }}
|
script: run-family-test --lang {{ item.lang }} --family '{{ item.family }}' --alias {{ item.alias }} --artifactsdir {{ remote_artifacts }} --package {{ package }}
|
||||||
with_items:
|
with_items:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue