X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftestsuite%2Ftests.sh;h=1989205bcf3c0d62f21f521d05879cf76ccf72f4;hb=61d1c864c55291c1f5f81f284e984b044fe2722f;hp=31d99d9d971c526770e94fdff7aac56c0f8c1963;hpb=9ddb93478491336d531a1705a199c6e3cb27ca60;p=ngircd-alex.git diff --git a/src/testsuite/tests.sh b/src/testsuite/tests.sh index 31d99d9d..1989205b 100755 --- a/src/testsuite/tests.sh +++ b/src/testsuite/tests.sh @@ -1,24 +1,54 @@ #!/bin/sh +# # ngIRCd Test Suite -# $Id: tests.sh,v 1.5 2004/09/04 14:22:38 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 + exit 1 +fi + +# read in functions +. ${srcdir}/functions.inc 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 " doing ${test} ..." -expect ${srcdir}/${test}.e > logs/${test}.log +# 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-