#!/bin/bash # 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., 59 Temple Place, Suite 330, # Boston, MA 02111-1307, USA # # For licensing issues, contact and # . COLUMNS=80 export COLUMNS if test -z "$srcdir"; then srcdir=. test "${VERBOSE+set}" != "set" && VERBOSE=yes fi # See how redirections should work. if test -z "$VERBOSE"; then exec > /dev/null 2>&1 fi path=`dirname $0` if ! test -f "./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 ! ./fribidi --charset "$charset" /dev/null 2>&1; then echo " [Character set not supported]" return 0 fi ./fribidi --test --charset "$charset" "$testcase" > "$test.output" reference="${testcase%.input}.reference"; test -f "$reference" || reference="tests/${reference##*/}" if diff "$test.output" "$reference"; then rm "$test.output" echo " [Passed]" return 0 else echo " [Failed]" return 1 fi } retval=0 for testcase in "$path/tests/"test_*.input; do TEST "$testcase" || retval=1 done exit $retval