public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [tests/fonts] rhel9: validate_family: Add a feature to read variables from file
@ 2026-08-13 10:29 Akira TAGOH
0 siblings, 0 replies; only message in thread
From: Akira TAGOH @ 2026-08-13 10:29 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : tests/fonts
Branch : rhel9
Commit : 04942b5dc0575429622157a3815a29e6c399cfec
Author : Akira TAGOH <akira@tagoh.org>
Date : 2024-07-05T18:41:31+09:00
Stats : +54/-21 in 1 file(s)
URL : https://src.fedoraproject.org/tests/fonts/c/04942b5dc0575429622157a3815a29e6c399cfec?branch=rhel9
Log:
validate_family: Add a feature to read variables from file
---
diff --git a/tests/validate_family/test.sh b/tests/validate_family/test.sh
index 8dcf9fc..c4d2dff 100755
--- a/tests/validate_family/test.sh
+++ b/tests/validate_family/test.sh
@@ -1,51 +1,84 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+
+basedir=$(pwd)
+
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE=${PACKAGE:-"blahblah-fonts"}
FONT_FAMILY=${FONT_FAMILY:-"family anme"}
FONT_VALIDATE_EXCLUDE_FILES=${FONT_VALIDATE_EXCLUDE_FILES:-${FONT_EXCLUDE:-}}
+VARLIST=${VARLIST:-}
+
+function get_font_path {
+ local pkg=$1
-function get_font_path() {
- fontlist=$(rpm -ql $PACKAGE|grep /usr/share/fonts)
- ret=$(for f in $fontlist; do
- dirname $f
- done|sort|uniq|grep /usr/share/fonts/)
- echo -n $ret
+ rpm -ql $pkg|grep /usr/share/fonts/
}
-function check_exception() {
- if [ "x$FONT_VALIDATE_EXCLUDE_FILES" == "x" ]; then
+function check_exception {
+ local exregex=$1
+ local file=$2
+
+ if [ "x$exregex" == "x" ]; then
echo -n 1
else
- echo $1 | grep -E "$FONT_VALIDATE_EXCLUDE_FILES" 2>&1 > /dev/null
+ echo $file | grep -E "$exregex" 2>&1 > /dev/null
echo -n $?
fi
}
+function test_pkg {
+ local pkg=$1
+
+ rlPhaseStartTest "Package installation test for $pkg" #{
+ rlRun "rpm -q $pkg" 0 "Package installation test" #}
+ rlPhaseEnd
+}
+
+function test_validate_family {
+ local pkg=${1:-"unknown package"}
+ local fcfamily=${2:-"unknown family"}
+ local fcexpat=${3:-}
+
+ test_pkg $pkg
+
+ rlPhaseStartTest "Validate family name for $pkg"
+ for f in $(get_font_path $pkg); do
+ if echo $f|grep -Eq "\.(t1|ttf|otf|ttc|otc|pcf.*|pfa)$"; then
+ set -f
+ if [ $(check_exception $fcexpat $f) -ne 0 ] && [ -f $f ]; then
+ rlRun "fc-scan -f \"%{family[0]}\\n\" $f | tee output" 0 "Querying family name"
+ rlAssertGrep "^$FONT_FAMILY\$" "output"
+ else
+ rlLogInfo "Skipping $f (according to FONT_VALIDATE_EXCLUDE_FILES)"
+ fi
+ set +f
+ fi
+ done
+ rlPhaseEnd
+}
+
rlJournalStart
+
rlPhaseStartSetup
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
rlRun "pushd $tmp"
rlRun "set -o pipefail"
rlPhaseEnd
- rlPhaseStartTest
- for p in $(get_font_path); do
- for f in $(find $p -regex '.*/*\.\(t1\)?\(ttf\)?\(otf\)?\(ttc\)?\(otc\)?\(pcf.*\)?\(pfa\)?'); do
- set -f
- if [ $(check_exception $f) -ne 0 -a -f $f ]; then
- rlRun "fc-scan -f \"%{family[0]}\\n\" $f | tee output" 0 "Querying family name"
- rlAssertGrep "$FONT_FAMILY" "output"
- else
- rlLogInfo "Skipping $f"
- fi
- done
+ if [ -n "$VARLIST" ] && [ -f "$basedir/../../plans/$VARLIST" ]; then
+ rlLogInfo "Reading variables from $VARLIST"
+ cat "$basedir/../../plans/$VARLIST" | grep -E -v "^#" | while IFS=";" read -r PACKAGE FONT_ALIAS FONT_LANG FONT_WIDTH FONT_FAMILY SANS SERIF MONO EMOJI MATH FONT_LANG_EXCLUDE_FILES FONT_VALIDATE_EXCLUDE_FILES dummy; do
+ test_validate_family "$PACKAGE" "$FONT_FAMILY" "$FONT_VALIDATE_EXCLUDE_FILES"
done
- rlPhaseEnd
+ else
+ test_validate_family "$PACKAGE" "$FONT_FAMILY" "$FONT_VALIDATE_EXCLUDE_FILES"
+ fi
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $tmp" 0 "Remove tmp directory"
rlPhaseEnd
+
rlJournalEnd
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-13 10:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-13 10:29 [tests/fonts] rhel9: validate_family: Add a feature to read variables from file Akira TAGOH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox