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