tests.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/sh
  2. #
  3. # ngIRCd Test Suite
  4. # Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors.
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # (at your option) any later version.
  10. # Please read the file COPYING, README and AUTHORS for more information.
  11. #
  12. # detect source directory
  13. [ -z "$srcdir" ] && srcdir=`dirname $0`
  14. name=`basename $0`
  15. test=`echo ${name} | cut -d '.' -f 1`
  16. [ -d logs ] || mkdir logs
  17. if [ ! -r "$test" ]; then
  18. echo "${name}: test \"$test\" not found!"; exit 77
  19. exit 1
  20. fi
  21. # read in functions
  22. . ${srcdir}/functions.inc
  23. type expect > /dev/null 2>&1
  24. if [ $? -ne 0 ]; then
  25. echo "${name}: \"expect\" not found."; exit 77
  26. fi
  27. type telnet > /dev/null 2>&1
  28. if [ $? -ne 0 ]; then
  29. echo "${name}: \"telnet\" not found."; exit 77
  30. fi
  31. # prepare expect script
  32. e_in="${srcdir}/${test}.e"
  33. e_tmp="${test}.e_"
  34. e_exec="$e_in"
  35. if test -t 1 2>/dev/null; then
  36. sed -e 's|^expect |puts -nonewline stderr "."; expect |g' \
  37. "$e_in" >"$e_tmp"
  38. [ $? -eq 0 ] && e_exec="$e_tmp"
  39. fi
  40. echo_n "running ${test} ..."
  41. expect "$e_exec" > logs/${test}.log; r=$?
  42. [ $r -eq 0 ] && echo " ok." || echo " failure!"
  43. rm -f "$e_tmp"
  44. exit $r
  45. # -eof-