#! /bin/sh
#
# $Id: run_test,v 1.3 2004/04/11 08:47:08 hirose31 Exp $
#

DEBUG=${T_DEBUG:-0}

dprint() {
	[ $DEBUG -gt 0 ] && echo "DEBUG $@"
}

dosql=${T_DOSQL:-mysql -s test}
dosql="$dosql ${T_MYSQL_OPT}"
ver=${T_VER:-}
dprint "dosql=$dosql"
dprint "ver=$ver"

failed=0
for t in "$@"; do
	dprint "test_file=$t"
	basedir=$(dirname $t)
	basename=$(basename $t .t)
	if [ "X${ver}" != "X" -a -r "${basedir}/${basename}_${ver}.e" ]; then
		expectfile="${basedir}/${basename}_${ver}.e"
	else
		expectfile="${basedir}/${basename}.e"
	fi
	resultfile="${basedir}/${basename}.x"
	echo -n "$t ... "
	dprint "basedir=$basedir"
	dprint "basename=$basename"
	dprint "expectfile=$expectfile"
	dprint "resultfile=$resultfile"

	cat $t | $dosql > $resultfile 2>&1
	if [ -r $expectfile ]; then
		if cmp -s $resultfile  $expectfile; then
			echo ok
		else
			echo ng
			failed=$((failed+1))
		fi
	else
		echo "not found: $expectfile"
		failed=$((failed+1))
	fi

	[ $DEBUG -gt 0 ] || rm -f $resultfile
done

if [ $failed -eq 0 ]; then
	echo "All tests successfull."
	exit 0
else
	echo "Failed $failed test suits."
	exit 1
fi

exit 1
