Test suite: make expect scripts more verbose testsuite-verbose
authorAlexander Barton <alex@barton.de>
Mon, 24 Sep 2012 21:05:24 +0000 (23:05 +0200)
committerAlexander Barton <alex@barton.de>
Sat, 6 Oct 2012 21:17:07 +0000 (23:17 +0200)
Now tests.sh transforms each expect script it executes using sed(1)
and inserts a 'puts -nonewline stderr "."' in front of each "expect"
command.

src/testsuite/tests.sh

index f820628f8d1102bb7c1da297d3a24bffffe379b1..8ecf8abf659b85fdedb7f8b59b17a8bdf0af83ed 100755 (executable)
@@ -34,10 +34,21 @@ if [ $? -ne 0 ]; then
   echo "${name}: \"telnet\" not found.";  exit 77
 fi
 
+# 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 ${srcdir}/${test}.e > logs/${test}.log 2>&1; r=$?
+expect "$e_tmp" > logs/${test}.log; r=$?
 [ $r -eq 0 ] && echo " ok." || echo " failure!"
 
+rm -f "$e_tmp"
 exit $r
 
 # -eof-