Compare commits
No commits in common. "c8s" and "c10s" have entirely different histories.
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
saab.0.91.zip
|
|
@ -1 +0,0 @@
|
|||||||
As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
|
|
1
dead.package
Normal file
1
dead.package
Normal file
@ -0,0 +1 @@
|
|||||||
|
saab-fonts package is retired on branch c10s for BAKERY-412
|
@ -1,6 +0,0 @@
|
|||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-8
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
|
@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
|
|
||||||
<fontconfig>
|
|
||||||
<alias>
|
|
||||||
<family>serif</family>
|
|
||||||
<prefer>
|
|
||||||
<family>Saab</family>
|
|
||||||
</prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Saab</family>
|
|
||||||
<default>
|
|
||||||
<family>serif</family>
|
|
||||||
</default>
|
|
||||||
</alias>
|
|
||||||
</fontconfig>
|
|
||||||
|
|
102
saab-fonts.spec
102
saab-fonts.spec
@ -1,102 +0,0 @@
|
|||||||
%global fontname saab
|
|
||||||
%global fontconf 67-%{fontname}.conf
|
|
||||||
|
|
||||||
Name: %{fontname}-fonts
|
|
||||||
Version: 0.91
|
|
||||||
Release: 18%{?dist}
|
|
||||||
Summary: Free Punjabi Unicode OpenType Serif Font
|
|
||||||
|
|
||||||
Group: User Interface/X
|
|
||||||
|
|
||||||
License: GPLv2+ with exceptions
|
|
||||||
URL: http://guca.sourceforge.net/typography/fonts/saab/
|
|
||||||
Source0: http://downloads.sf.net/guca/saab.0.91.zip
|
|
||||||
Source1: %{name}-fontconfig.conf
|
|
||||||
#Font file itself does not add exception text, so add it manually
|
|
||||||
#from http://guca.sourceforge.net/typography/fonts/saab/
|
|
||||||
Source2: License_font_exception.txt
|
|
||||||
BuildArch: noarch
|
|
||||||
BuildRequires: fontpackages-devel
|
|
||||||
Requires: fontpackages-filesystem
|
|
||||||
|
|
||||||
%description
|
|
||||||
This package provides a free OpenType Punjabi (Gurmukhi) Serif font.
|
|
||||||
Developed by Bhupinder Singh.
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q -c
|
|
||||||
|
|
||||||
%build
|
|
||||||
echo "Nothing to do in Build."
|
|
||||||
|
|
||||||
%install
|
|
||||||
install -m 0644 -p %{SOURCE2} .
|
|
||||||
install -m 0755 -d %{buildroot}%{_fontdir}
|
|
||||||
install -m 0644 -p Saab.otf %{buildroot}%{_fontdir}
|
|
||||||
|
|
||||||
install -m 0755 -d %{buildroot}%{_fontconfig_templatedir} \
|
|
||||||
%{buildroot}%{_fontconfig_confdir}
|
|
||||||
|
|
||||||
install -m 0644 -p %{SOURCE1} \
|
|
||||||
%{buildroot}%{_fontconfig_templatedir}/%{fontconf}
|
|
||||||
ln -s %{_fontconfig_templatedir}/%{fontconf} \
|
|
||||||
%{buildroot}%{_fontconfig_confdir}/%{fontconf}
|
|
||||||
|
|
||||||
%_font_pkg Saab.otf -f %{fontconf}
|
|
||||||
%doc License_font_exception.txt
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Sat Aug 07 2021 Parag Nemade <pnemade AT redhat DOT com> - 0.91-18
|
|
||||||
- Resolves:rhbz#1990809 - Typo in the fontconfig file
|
|
||||||
|
|
||||||
* Mon Nov 18 2019 Parag Nemade <pnemade AT redhat DOT com> - 0.91-17
|
|
||||||
- Resolves:rh#1682210 - Added CI tests
|
|
||||||
|
|
||||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.91-16
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.91-15
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.91-14
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.91-13
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-12
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-11
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-10
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-9
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Nov 26 2012 Parag <pnemade AT redhat DOT com> - 2.000-9
|
|
||||||
- Resolves:rh#880041 - Please include License exception text file
|
|
||||||
|
|
||||||
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-7
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-6
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Feb 08 2010 Parag <pnemade AT redhat.com> - 0.91-4
|
|
||||||
- Resolves: rh#562755: update license
|
|
||||||
|
|
||||||
* Tue Sep 04 2009 A S Alam <aalam@redhat.com> - 0.91-3
|
|
||||||
- Add fontconfig conf file
|
|
||||||
|
|
||||||
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jun 2 2009 A S Alam <aalam@redhat.com> - 0.91-1
|
|
||||||
- New Package Build for Punjabi Unicode Font
|
|
1
sources
1
sources
@ -1 +0,0 @@
|
|||||||
SHA512 (saab.0.91.zip) = d8356d3accc79c3ff8f66bf15708e60a91bb775ca3afe380cbb658f0479e6edbee110287ef1599bc08c2e038e6ea17a19948e501dd0023a7ba9e4230b50b3b15
|
|
@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
role_pkgs_req:
|
|
||||||
- fontconfig
|
|
||||||
- fontconfig-devel
|
|
||||||
- pkg-config
|
|
||||||
- rsync
|
|
@ -1,153 +0,0 @@
|
|||||||
#! /bin/bash -efu
|
|
||||||
|
|
||||||
debug() {
|
|
||||||
if [ -n "$DEBUG" ]; then
|
|
||||||
echo "$*" >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
msg_usage() {
|
|
||||||
cat <<_EOF_
|
|
||||||
Run family test.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
$PROG <options>
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help Display this help and exit
|
|
||||||
-v, --verbose Turn on debug
|
|
||||||
-l, --lang=LANG Test LANG language coverage (default: en)
|
|
||||||
-f, --family=FILE Set a family name supposed to be assigned for alias.
|
|
||||||
-g, --alias=STR Set an alias name. (default: sans-serif)
|
|
||||||
-a, --artifactsdir=DIR Set environment dir to store artifacts
|
|
||||||
-k, --package=NAME Set a package name for fonts.
|
|
||||||
_EOF_
|
|
||||||
}
|
|
||||||
|
|
||||||
PROG="${PROG:-${0##*/}}"
|
|
||||||
DEBUG="${DEBUG:-}"
|
|
||||||
OPT_LANG="${OPT_LANG:-en}"
|
|
||||||
OPT_FAMILY="${OPT_FAMILY:-}"
|
|
||||||
OPT_ARTIFACTS_DIR="${OPT_ARTIFACTS_DIR:-}"
|
|
||||||
OPT_ALIAS="${OPT_ALIAS:-sans-serif}"
|
|
||||||
OPT_PACKAGE="${OPT_PACKAGE:-}"
|
|
||||||
|
|
||||||
opt=$(getopt -n "$0" --options "hvl:f:t:a:g:k:" --longoptions "help,verbose,lang:,family:,test:,artifactsdir:,alias:,package:" -- "$@")
|
|
||||||
eval set -- "$opt"
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
case "$1" in
|
|
||||||
-k|--package)
|
|
||||||
OPT_PACKAGE="$2"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-g|--alias)
|
|
||||||
OPT_ALIAS="$2"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-a|--artifactsdir)
|
|
||||||
OPT_ARTIFACTS_DIR="$2"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-f|--family)
|
|
||||||
OPT_FAMILY="$2"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-l|--lang)
|
|
||||||
OPT_LANG="$2"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-v|--verbose)
|
|
||||||
DEBUG="-v"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-h|--help)
|
|
||||||
msg_usage
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
--)
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
msg_usage
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -z "$OPT_ARTIFACTS_DIR" ] || [ -z "$OPT_LANG" ] || [ -z "$OPT_FAMILY" ]; then
|
|
||||||
echo "Use: $PROG -h for help."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
debug "Alias: $OPT_ALIAS"
|
|
||||||
debug "Family: $OPT_FAMILY"
|
|
||||||
debug "Lang: $OPT_LANG"
|
|
||||||
debug "Artifacts dir: $OPT_ARTIFACTS_DIR"
|
|
||||||
debug "Package name: $OPT_PACKAGE"
|
|
||||||
STR_TEST_DASHED=$(echo "${OPT_PACKAGE}_${OPT_ALIAS}" | sed -e 's/\//-/g' -e 's/ /-/g')
|
|
||||||
debug "Log file: $STR_TEST_DASHED.log"
|
|
||||||
|
|
||||||
clean_exit() {
|
|
||||||
rc=$?;
|
|
||||||
trap - SIGINT SIGTERM SIGABRT EXIT
|
|
||||||
echo "Run test $OPT_ALIAS: done."
|
|
||||||
for pid in $(ps -o pid --no-headers --ppid $$); do
|
|
||||||
if [ -n "$(ps -p $pid -o pid=)" ]; then
|
|
||||||
kill -s HUP $pid
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
local log_file_name="$STR_TEST_DASHED.log"
|
|
||||||
local log_file_path="$OPT_ARTIFACTS_DIR/$log_file_name"
|
|
||||||
local status
|
|
||||||
if [[ $rc -eq 127 ]]; then
|
|
||||||
status="ERROR"
|
|
||||||
elif grep -q "RESULT: WARN" "$log_file_path"; then
|
|
||||||
status="ERROR"
|
|
||||||
elif grep -q "RESULT: FAIL" "$log_file_path"; then
|
|
||||||
status="FAIL"
|
|
||||||
elif grep -q "RESULT: PASS" "$log_file_path"; then
|
|
||||||
status="PASS"
|
|
||||||
elif grep -q "FAIL" "$log_file_path"; then
|
|
||||||
status="FAIL"
|
|
||||||
elif grep -q "PASS" "$log_file_path"; then
|
|
||||||
status="PASS"
|
|
||||||
else
|
|
||||||
status="ERROR"
|
|
||||||
fi
|
|
||||||
echo "$status $OPT_ALIAS" >> "$OPT_ARTIFACTS_DIR/test.log"
|
|
||||||
mv "$log_file_path" "$OPT_ARTIFACTS_DIR/${status}_${log_file_name}"
|
|
||||||
local results="$OPT_ARTIFACTS_DIR/results.yml"
|
|
||||||
local result=$(echo $status | tr '[:upper:]' '[:lower:]')
|
|
||||||
test -f "$results" || echo 'results:' > "$results"
|
|
||||||
echo "- {result: $result, test: $OPT_ALIAS}" >> "$results"
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
trap clean_exit SIGINT SIGTERM SIGABRT EXIT
|
|
||||||
|
|
||||||
cachedir=`pkg-config --variable cachedir fontconfig`
|
|
||||||
tmpconfd=`mktemp --tmpdir -d fontsci.XXXXXXXX`
|
|
||||||
conf=$(for i in `rpm -ql $OPT_PACKAGE | grep conf.d`; do
|
|
||||||
echo "<include>$i</include>"
|
|
||||||
done)
|
|
||||||
cat <<_EOF_> $tmpconfd/fonts.conf
|
|
||||||
<fontconfig>
|
|
||||||
<dir>/usr/share/fonts</dir>
|
|
||||||
$conf
|
|
||||||
<cachedir>$cachedir</cachedir>
|
|
||||||
</fontconfig>
|
|
||||||
_EOF_
|
|
||||||
debug "Config: `cat $tmpconfd/fonts.conf`"
|
|
||||||
|
|
||||||
mkdir -p "$OPT_ARTIFACTS_DIR"
|
|
||||||
export OUTPUTFILE="$(realpath "$OPT_ARTIFACTS_DIR")/$STR_TEST_DASHED-out.log"
|
|
||||||
logfile_stdout="$OPT_ARTIFACTS_DIR/$STR_TEST_DASHED.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)
|
|
||||||
|
|
||||||
debug "Check family assignment"
|
|
||||||
res=`FONTCONFIG_FILE=$tmpconfd/fonts.conf fc-match -f "%{family[0]}" :family=$OPT_ALIAS:lang=$OPT_LANG`
|
|
||||||
if [ "x$res" = "x$OPT_FAMILY" ]; then
|
|
||||||
echo "RESULT: PASS: $OPT_FAMILY was assigned to $OPT_ALIAS as expected"
|
|
||||||
else
|
|
||||||
echo "RESULT: FAIL: $OPT_FAMILY wasn't assigned to $OPT_ALIAS (actual result: $res)"
|
|
||||||
fi
|
|
||||||
rm -rf $tmpconfd
|
|
@ -1,224 +0,0 @@
|
|||||||
#! /bin/bash -efu
|
|
||||||
|
|
||||||
debug() {
|
|
||||||
if [ -n "$DEBUG" ]; then
|
|
||||||
echo "$*" >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
msg_usage() {
|
|
||||||
cat <<_EOF_
|
|
||||||
Run language coverage test.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
$PROG <options>
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help Display this help and exit
|
|
||||||
-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.
|
|
||||||
_EOF_
|
|
||||||
}
|
|
||||||
|
|
||||||
PROG="${PROG:-${0##*/}}"
|
|
||||||
DEBUG="${DEBUG:-}"
|
|
||||||
OPT_LANG="${OPT_LANG:-en}"
|
|
||||||
OPT_PATH=()
|
|
||||||
OPT_ARTIFACTS_DIR="${OPT_ARTIFACTS_DIR:-}"
|
|
||||||
OPT_EXCLUDE=()
|
|
||||||
OPT_INCLUDE=()
|
|
||||||
OPT_NAME="${OPT_NAME:-}"
|
|
||||||
|
|
||||||
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
|
|
||||||
;;
|
|
||||||
-e|--exclude)
|
|
||||||
OPT_EXCLUDE+=("$2")
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-a|--artifactsdir)
|
|
||||||
OPT_ARTIFACTS_DIR="$2"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-p|--path)
|
|
||||||
OPT_PATH+=("$2")
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-l|--lang)
|
|
||||||
OPT_LANG="$2"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-v|--verbose)
|
|
||||||
DEBUG="-v"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-h|--help)
|
|
||||||
msg_usage
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
--)
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
msg_usage
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -z "$OPT_ARTIFACTS_DIR" ] || [ -z "$OPT_LANG" ] || [ -z "$OPT_PATH" ]; then
|
|
||||||
echo "Use: $PROG -h for help."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
STR_TEST_DASHED=$(echo "${OPT_NAME:-$OPT_LANG}" | sed -e 's/\//-/g')
|
|
||||||
|
|
||||||
clean_exit() {
|
|
||||||
rc=$?;
|
|
||||||
trap - SIGINT SIGTERM SIGABRT EXIT
|
|
||||||
echo "Run test $OPT_LANG: done."
|
|
||||||
for pid in $(ps -o pid --no-headers --ppid $$); do
|
|
||||||
if [ -n "$(ps -p $pid -o pid=)" ]; then
|
|
||||||
kill -s HUP $pid
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
local log_file_name="$STR_TEST_DASHED.log"
|
|
||||||
local log_file_path="$OPT_ARTIFACTS_DIR/$log_file_name"
|
|
||||||
local status
|
|
||||||
if [[ $rc -eq 127 ]]; then
|
|
||||||
status="ERROR"
|
|
||||||
elif grep -q "RESULT: WARN" "$log_file_path"; then
|
|
||||||
status="ERROR"
|
|
||||||
elif grep -q "RESULT: FAIL" "$log_file_path"; then
|
|
||||||
status="FAIL"
|
|
||||||
elif grep -q "RESULT: PASS" "$log_file_path"; then
|
|
||||||
status="PASS"
|
|
||||||
elif grep -q "WARN" "$log_file_path"; then
|
|
||||||
status="ERROR"
|
|
||||||
elif grep -q "FAIL" "$log_file_path"; then
|
|
||||||
status="FAIL"
|
|
||||||
elif grep -q "PASS" "$log_file_path"; then
|
|
||||||
status="PASS"
|
|
||||||
else
|
|
||||||
status="ERROR"
|
|
||||||
fi
|
|
||||||
echo "$status $OPT_LANG" >> "$OPT_ARTIFACTS_DIR/test.log"
|
|
||||||
mv "$log_file_path" "$OPT_ARTIFACTS_DIR/${status}_${log_file_name}"
|
|
||||||
local results="$OPT_ARTIFACTS_DIR/results.yml"
|
|
||||||
local result=$(echo $status | tr '[:upper:]' '[:lower:]')
|
|
||||||
test -f "$results" || echo 'results:' > "$results"
|
|
||||||
echo "- {result: $result, test: $OPT_LANG}" >> "$results"
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
trap clean_exit SIGINT SIGTERM SIGABRT EXIT
|
|
||||||
|
|
||||||
mkdir -p "$OPT_ARTIFACTS_DIR"
|
|
||||||
export OUTPUTFILE="$(realpath "$OPT_ARTIFACTS_DIR")/$STR_TEST_DASHED-out.log"
|
|
||||||
logfile_stdout="$OPT_ARTIFACTS_DIR/$STR_TEST_DASHED.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)
|
|
||||||
|
|
||||||
expand_regex() {
|
|
||||||
local p ret=()
|
|
||||||
local regex="$1"
|
|
||||||
shift
|
|
||||||
debug "Expanding $regex"
|
|
||||||
for p; do
|
|
||||||
set +f
|
|
||||||
debug "$p: $regex"
|
|
||||||
(cd $p;
|
|
||||||
local x=$(find -regextype posix-egrep -regex "./$regex" -print|sed -e 's,^\./,,g')
|
|
||||||
debug "$x"
|
|
||||||
ret+=($x)
|
|
||||||
set -f
|
|
||||||
echo -n ${ret[@]}
|
|
||||||
)
|
|
||||||
done
|
|
||||||
echo -n ${ret[@]}
|
|
||||||
}
|
|
||||||
|
|
||||||
iv=()
|
|
||||||
ev=()
|
|
||||||
x=()
|
|
||||||
for p in ${OPT_INCLUDE[@]}; do
|
|
||||||
x=$(expand_regex $p ${OPT_PATH[@]})
|
|
||||||
if [ "x$x" == "x" ]; then
|
|
||||||
echo "RESULT: WARN: No matches on \"$p\". maybe typo or something changed?"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
iv=("${iv[@]}" "${x[@]}")
|
|
||||||
done
|
|
||||||
for p in ${OPT_EXCLUDE[@]}; do
|
|
||||||
x=$(expand_regex $p ${OPT_PATH[@]})
|
|
||||||
if [ "x$x" == "x" ]; then
|
|
||||||
echo "RESULT: WARN: No matches on \"$p\". maybe typo or something changed?"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
ev=("${ev[@]}" "${x[@]}")
|
|
||||||
done
|
|
||||||
OPT_EXCLUDE=(${ev[@]})
|
|
||||||
OPT_INCLUDE=(${iv[@]})
|
|
||||||
|
|
||||||
debug "Path: ${OPT_PATH[@]}"
|
|
||||||
debug "Lang: $OPT_LANG"
|
|
||||||
debug "Artifacts dir: $OPT_ARTIFACTS_DIR"
|
|
||||||
debug "Exclude: ${#OPT_EXCLUDE[@]}: ${OPT_EXCLUDE[@]}"
|
|
||||||
debug "Include: ${#OPT_INCLUDE[@]}: ${OPT_INCLUDE[@]}"
|
|
||||||
|
|
||||||
contains() {
|
|
||||||
local e match="$1"
|
|
||||||
shift
|
|
||||||
for e; do [[ "$e" == "$match" ]] && return 1; done
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
debug "Check language coverage"
|
|
||||||
set +f
|
|
||||||
for p in ${OPT_PATH[@]}; do
|
|
||||||
for i in `find $p -regex '.*/*\.\(t1\)?\(ttf\)?\(otf\)?\(ttc\)?\(pcf.*\)?\(pfa\)?'`; do
|
|
||||||
set -f
|
|
||||||
debug "$i"
|
|
||||||
if test -f $i; then
|
|
||||||
n=`basename $i`
|
|
||||||
set +e
|
|
||||||
contains "$n" "${OPT_EXCLUDE[@]}"
|
|
||||||
ret=$?
|
|
||||||
set -e
|
|
||||||
if [ $ret -eq 1 ]; then
|
|
||||||
debug "ignoring $i"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
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
|
|
||||||
NOT_MATCHED=("${NOT_MATCHED[@]/$n}")
|
|
||||||
fi
|
|
||||||
debug " $i"
|
|
||||||
res=`fc-validate -l $OPT_LANG $i`
|
|
||||||
if echo $res | grep -q Missing; then
|
|
||||||
echo "RESULT: FAIL: $i doesn't satisfy $OPT_LANG language coverage."
|
|
||||||
else
|
|
||||||
echo "RESULT: PASS: $i satisfy $OPT_LANG language coverage."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
dependencies:
|
|
||||||
- role: str-common-init
|
|
@ -1,40 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
- block:
|
|
||||||
- name: language coverage
|
|
||||||
script: run-lang-coverage-test --lang "{{ item }}" {% if coverage.values is not defined or coverage[item].path_prefix is not defined %} --path {{ path_prefix }} {% else %} {{ '--path "' + (coverage[item].path_prefix | join('" --path "')) + '"' }} {% endif %} --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
|
|
||||||
when: families is defined
|
|
||||||
script: run-family-test --lang {{ item.lang }} --family '{{ item.family }}' --alias {{ item.alias }} --artifactsdir {{ remote_artifacts }} --package {{ package if item.package is not defined else item.package }}
|
|
||||||
with_items:
|
|
||||||
- "{{ families }}"
|
|
||||||
|
|
||||||
- name: Check the results
|
|
||||||
shell: |
|
|
||||||
log="{{ remote_artifacts }}/test.log"
|
|
||||||
if [ ! -f "$log" ]; then
|
|
||||||
echo ERROR
|
|
||||||
echo "Test results not found." 1>&2
|
|
||||||
elif grep ^ERROR "$log" 1>&2; then
|
|
||||||
echo ERROR
|
|
||||||
elif grep ^FAIL "$log" 1>&2; then
|
|
||||||
echo FAIL
|
|
||||||
elif grep -q ^PASS "$log"; then
|
|
||||||
echo PASS
|
|
||||||
else
|
|
||||||
echo ERROR
|
|
||||||
echo "No test results found." 1>&2
|
|
||||||
fi
|
|
||||||
register: test_results
|
|
||||||
|
|
||||||
- name: Set role result
|
|
||||||
set_fact:
|
|
||||||
role_result: "{{ test_results.stdout }}"
|
|
||||||
role_message: "{{ test_results.stderr|d('test execution error.') }}"
|
|
||||||
role_result_failed: "{{ test_results.stdout != 'PASS' }}"
|
|
||||||
role_result_msg: "{{ test_results.stderr|d('test execution error.') }}"
|
|
||||||
|
|
||||||
- include_role:
|
|
||||||
name: str-common-final
|
|
@ -1,15 +0,0 @@
|
|||||||
- hosts: localhost
|
|
||||||
tags:
|
|
||||||
- classic
|
|
||||||
roles:
|
|
||||||
- role: custom-test-fonts
|
|
||||||
required_packages:
|
|
||||||
- saab-fonts
|
|
||||||
path_prefix: /usr/share/fonts/saab
|
|
||||||
package: saab-fonts
|
|
||||||
coverage:
|
|
||||||
- pa
|
|
||||||
families:
|
|
||||||
- lang: pa
|
|
||||||
alias: serif
|
|
||||||
family: Saab
|
|
Loading…
Reference in New Issue
Block a user