#! /bin/sh # run.tests - Check that the algorithm does what it is supposed to # Copyright (C) 1999,2000 Dov Grobgeld, and # Copyright (C) 2001,2002 Behdad Esfahbod. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with this library, in a file named COPYING; if not, write to the # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA # # For licensing issues, contact and # . if test -z "$top_builddir"; then top_builddir=.. fi if test -z "$srcdir"; then srcdir=`echo "$0" | sed 's,/[^/]*$,,'` fi test "${VERBOSE+set}" != "set" && VERBOSE=yes # See how redirections should work. if test -z "$VERBOSE"; then exec > /dev/null 2>&1 fi if ! test -f "$top_builddir/bin/fribidi"; then echo "run.tests: you must make fribidi first" exit 1 fi TEST () { testcase="$1" test="${testcase##*/}" test="${test%.input}" charset="${testcase#*_}" charset="${charset%%_*}" echo -n "=== $test === " if ! "$top_builddir/bin/fribidi" --charset "$charset" /dev/null 2>&1; then echo " [Character set not supported]" return 0 fi "$top_builddir/bin/fribidi" --test --charset "$charset" "$testcase" > "$test.output" reference="${testcase%.input}.reference"; test -f "$reference" || reference="tests/${reference##*/}" if diff -U 0 "$test.output" "$reference"; then rm "$test.output" echo " [Passed]" return 0 else echo " [Failed]" return 1 fi } retval=0 for testcase in "$srcdir"/test_*.input; do TEST "$testcase" || retval=1 done exit $retval