#!/bin/sh
#
# ngIRCd Test Suite
-# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors.
+# 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
[ -d logs ] || mkdir logs
if [ ! -r "$test" ]; then
- echo " ${name}: test \"$test\" not found!"; exit 77
+ echo "$test: test not found" >>tests-skipped.lst
+ echo "${name}: test \"$test\" not found!"; exit 77
exit 1
fi
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_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-