]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/testsuite/tests.sh
Test suite: make expect scripts more verbose
[ngircd-alex.git] / src / testsuite / tests.sh
index dc184ffc1fc552fa891dec508a127fdbd7812e63..8ecf8abf659b85fdedb7f8b59b17a8bdf0af83ed 100755 (executable)
@@ -18,7 +18,7 @@ test=`echo ${name} | cut -d '.' -f 1`
 [ -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
 
@@ -27,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_tmp" > logs/${test}.log; r=$?
 [ $r -eq 0 ] && echo " ok." || echo " failure!"
 
+rm -f "$e_tmp"
 exit $r
 
 # -eof-