提交 3fcae6d8 编写于 作者: B Behdad Esfahbod

[tests] Add --reference, for re-recording tests

上级 fc38e603
...@@ -8,21 +8,31 @@ hb_shape=$top_builddir/util/hb-shape$EXEEXT ...@@ -8,21 +8,31 @@ hb_shape=$top_builddir/util/hb-shape$EXEEXT
fails=0 fails=0
reference=false
if test "x$1" = x--reference; then
reference=true
shift
fi
if test $# = 0; then if test $# = 0; then
set /dev/stdin set /dev/stdin
fi fi
IFS=: IFS=:
for f in "$@"; do for f in "$@"; do
echo "Running tests in $f" $reference || echo "Running tests in $f"
while read fontfile options unicodes glyphs_expected; do while read fontfile options unicodes glyphs_expected; do
echo "Testing $fontfile:$unicodes" $reference || echo "Testing $fontfile:$unicodes"
glyphs=`$srcdir/hb-unicode-encode "$unicodes" | $hb_shape $options "$srcdir/$fontfile"` glyphs=`$srcdir/hb-unicode-encode "$unicodes" | $hb_shape $options "$srcdir/$fontfile"`
if test $? != 0; then if test $? != 0; then
echo "hb-shape failed." >&2 echo "hb-shape failed." >&2
fails=$((fails+1)) fails=$((fails+1))
continue continue
fi fi
if $reference; then
echo "$fontfile:$options:$unicodes:$glyphs"
continue
fi
if ! test "x$glyphs" = "x$glyphs_expected"; then if ! test "x$glyphs" = "x$glyphs_expected"; then
echo "Actual: $glyphs" >&2 echo "Actual: $glyphs" >&2
echo "Expected: $glyphs_expected" >&2 echo "Expected: $glyphs_expected" >&2
...@@ -32,8 +42,8 @@ for f in "$@"; do ...@@ -32,8 +42,8 @@ for f in "$@"; do
done done
if test $fails != 0; then if test $fails != 0; then
echo "$fails tests failed." $reference || echo "$fails tests failed."
exit 1 exit 1
else else
echo "All tests passed." $reference || echo "All tests passed."
fi fi
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册