X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Ftestsuite%2Ftests.sh;h=8ecf8abf659b85fdedb7f8b59b17a8bdf0af83ed;hp=4678654986c4784f5eb758734c5db068319b9475;hb=de2fa78d92447d2acc3d349b8044524f5b616f59;hpb=c4d78a346942afdaf6bd19f8cad88d6678eaa608 diff --git a/src/testsuite/tests.sh b/src/testsuite/tests.sh index 46786549..8ecf8abf 100755 --- a/src/testsuite/tests.sh +++ b/src/testsuite/tests.sh @@ -1,16 +1,54 @@ #!/bin/sh +# # ngIRCd Test Suite -# $Id: tests.sh,v 1.1 2002/09/09 10:16:24 alex Exp $ +# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# Please read the file COPYING, README and AUTHORS for more information. +# + +# detect source directory +[ -z "$srcdir" ] && srcdir=`dirname $0` name=`basename $0` test=`echo ${name} | cut -d '.' -f 1` +[ -d logs ] || mkdir logs + +if [ ! -r "$test" ]; then + echo "${name}: test \"$test\" not found!"; exit 77 + exit 1 +fi + +# read in functions +. ${srcdir}/functions.inc type expect > /dev/null 2>&1 if [ $? -ne 0 ]; then - echo "SKIP: ${name} -- \"expect\" not found."; exit 77 + echo "${name}: \"expect\" not found."; exit 77 fi +type telnet > /dev/null 2>&1 +if [ $? -ne 0 ]; then + echo "${name}: \"telnet\" not found."; exit 77 +fi + +# prepare expect script +e_in="${srcdir}/${test}.e" +e_tmp="${test}.e_" +e_exec="$e_in" +if test -t 1 2>/dev/null; then + sed -e 's|^expect |puts -nonewline stderr "."; expect |g' \ + "$e_in" >"$e_tmp" + [ $? -eq 0 ] && e_exec="$e_tmp" +fi + +echo_n "running ${test} ..." +expect "$e_tmp" > logs/${test}.log; r=$? +[ $r -eq 0 ] && echo " ok." || echo " failure!" -echo " doing ${test} ..." -expect ${test}.e > ${test}.log +rm -f "$e_tmp" +exit $r # -eof-