X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Ftestsuite%2Ftests.sh;h=fc4a4d5d25e2dda2dbbdb62ef62a5b3a887f27bf;hp=401a55da8b057cd975acab61c73a2dbe99cfeae3;hb=3de972e0bdbb5da7b13db5628e5373e3ec57cf51;hpb=1ed708ef39f41436797754829fd574f34f8a3a71 diff --git a/src/testsuite/tests.sh b/src/testsuite/tests.sh index 401a55da..fc4a4d5d 100755 --- a/src/testsuite/tests.sh +++ b/src/testsuite/tests.sh @@ -1,21 +1,57 @@ #!/bin/sh +# # ngIRCd Test Suite -# $Id: tests.sh,v 1.4 2003/08/22 11:31:18 alex Exp $ +# Copyright (c)2001-2014 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 "$test: test not found" >>tests-skipped.lst + 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 "$test: \"expect\" not found" >>tests-skipped.lst + 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 "$test: \"telnet\" not found" >>tests-skipped.lst + 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-