public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Akira TAGOH <akira@tagoh.org>
To: git-commits@fedoraproject.org
Subject: [tests/fonts] rhel9: validate_family: Add a feature to read variables from file
Date: Thu, 13 Aug 2026 10:29:17 GMT	[thread overview]
Message-ID: <178661695714.1.16824052875609456595.tests-fonts-04942b5dc057@fedoraproject.org> (raw)

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

                 reply	other threads:[~2026-08-13 10:29 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178661695714.1.16824052875609456595.tests-fonts-04942b5dc057@fedoraproject.org \
    --to=akira@tagoh.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox