X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftestsuite%2Ftests.sh;h=1989205bcf3c0d62f21f521d05879cf76ccf72f4;hb=61d1c864c55291c1f5f81f284e984b044fe2722f;hp=2bd9ae402125adb05db0e5e0adf27e2e6712b8ec;hpb=450251f082e0d9b4b1cbdf803e061ca5b5fcf9ab;p=ngircd-alex.git diff --git a/src/testsuite/tests.sh b/src/testsuite/tests.sh index 2bd9ae40..1989205b 100755 --- a/src/testsuite/tests.sh +++ b/src/testsuite/tests.sh @@ -1,16 +1,24 @@ #!/bin/sh +# # ngIRCd Test Suite -# $Id: tests.sh,v 1.7 2004/09/06 22:04:06 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` -mkdir -p logs +[ -d logs ] || mkdir logs if [ ! -r "$test" ]; then - echo " ${name}: test \"$test\" not found!"; exit 77 + echo "${name}: test \"$test\" not found!"; exit 77 exit 1 fi @@ -19,17 +27,28 @@ fi type expect > /dev/null 2>&1 if [ $? -ne 0 ]; then - echo " ${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 + echo "${name}: \"telnet\" not found."; exit 77 fi -echo_n " running ${test} ..." -expect ${srcdir}/${test}.e > logs/${test}.log 2>&1; r=$? +# 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_exec" > logs/${test}.log; r=$? [ $r -eq 0 ] && echo " ok." || echo " failure!" +rm -f "$e_tmp" exit $r # -eof-