diff --git a/test/shaping/run-tests.sh b/test/shaping/run-tests.sh index 1e2e34d1bd92ca943a6a475b5400cef4b3220149..668bb8c9cf90e928e2c5424a3b956c5e0e96e63b 100755 --- a/test/shaping/run-tests.sh +++ b/test/shaping/run-tests.sh @@ -8,21 +8,31 @@ hb_shape=$top_builddir/util/hb-shape$EXEEXT fails=0 +reference=false +if test "x$1" = x--reference; then + reference=true + shift +fi + if test $# = 0; then set /dev/stdin fi IFS=: for f in "$@"; do - echo "Running tests in $f" + $reference || echo "Running tests in $f" 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"` if test $? != 0; then echo "hb-shape failed." >&2 fails=$((fails+1)) continue fi + if $reference; then + echo "$fontfile:$options:$unicodes:$glyphs" + continue + fi if ! test "x$glyphs" = "x$glyphs_expected"; then echo "Actual: $glyphs" >&2 echo "Expected: $glyphs_expected" >&2 @@ -32,8 +42,8 @@ for f in "$@"; do done if test $fails != 0; then - echo "$fails tests failed." + $reference || echo "$fails tests failed." exit 1 else - echo "All tests passed." + $reference || echo "All tests passed." fi