Blame test/shaping/run-tests.sh

Packit Service 5bcba8
#!/bin/sh
Packit Service 5bcba8
Packit Service 5bcba8
test "x$srcdir" = x && srcdir=.
Packit Service 5bcba8
test "x$builddir" = x && builddir=.
Packit Service 5bcba8
test "x$top_builddir" = x && top_builddir=../..
Packit Service 5bcba8
Packit Service 5bcba8
hb_shape=$top_builddir/util/hb-shape$EXEEXT
Packit Service 5bcba8
Packit Service 5bcba8
fails=0
Packit Service 5bcba8
Packit Service 5bcba8
reference=false
Packit Service 5bcba8
if test "x$1" = x--reference; then
Packit Service 5bcba8
	reference=true
Packit Service 5bcba8
	shift
Packit Service 5bcba8
fi
Packit Service 5bcba8
Packit Service 5bcba8
if test $# = 0; then
Packit Service 5bcba8
	set /dev/stdin
Packit Service 5bcba8
fi
Packit Service 5bcba8
Packit Service 5bcba8
for f in "$@"; do
Packit Service 5bcba8
	$reference || echo "Running tests in $f"
Packit Service 5bcba8
	while IFS=: read fontfile options unicodes glyphs_expected; do
Packit Service 5bcba8
		if echo "$fontfile" | grep -q '^#'; then
Packit Service 5bcba8
			$reference || echo "Skipping $fontfile:$unicodes"
Packit Service 5bcba8
			continue
Packit Service 5bcba8
		fi
Packit Service 5bcba8
		$reference || echo "Testing $fontfile:$unicodes"
Packit Service 5bcba8
		glyphs=`$srcdir/hb-unicode-encode "$unicodes" | $hb_shape $options "$srcdir/$fontfile"`
Packit Service 5bcba8
		if test $? != 0; then
Packit Service 5bcba8
			echo "hb-shape failed." >&2
Packit Service 5bcba8
			fails=$((fails+1))
Packit Service 5bcba8
			continue
Packit Service 5bcba8
		fi
Packit Service 5bcba8
		if $reference; then
Packit Service 5bcba8
			echo "$fontfile:$options:$unicodes:$glyphs"
Packit Service 5bcba8
			continue
Packit Service 5bcba8
		fi
Packit Service 5bcba8
		if ! test "x$glyphs" = "x$glyphs_expected"; then
Packit Service 5bcba8
			echo "Actual:   $glyphs" >&2
Packit Service 5bcba8
			echo "Expected: $glyphs_expected" >&2
Packit Service 5bcba8
			fails=$((fails+1))
Packit Service 5bcba8
		fi
Packit Service 5bcba8
	done < "$f"
Packit Service 5bcba8
done
Packit Service 5bcba8
Packit Service 5bcba8
if test $fails != 0; then
Packit Service 5bcba8
	$reference || echo "$fails tests failed."
Packit Service 5bcba8
	exit 1
Packit Service 5bcba8
else
Packit Service 5bcba8
	$reference || echo "All tests passed."
Packit Service 5bcba8
fi