X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=tests%2Fcommon.sh;h=36dda8ed0dd77abba19eab35c611cd1bbd02c564;hb=3b4f4a15dc1ce69b65dc2c09d8743f7ed30662e4;hp=d2b3459cee64123b75e81d65f3b80123c50e6aff;hpb=9fb20ff647d6d494d99184875d2c60586107d34c;p=tlsproxy%2Ftlsproxy.git diff --git a/tests/common.sh b/tests/common.sh index d2b3459..36dda8e 100644 --- a/tests/common.sh +++ b/tests/common.sh @@ -19,6 +19,12 @@ set -e +# Terminate all running servers when the script terminates. +trap 'stop_servers' 0 +# Same when the user presses Ctrl-C. +trap 'abort SIGINT' INT + + cleanup() { rm -f \ tmp tlsproxy-log \ @@ -26,14 +32,24 @@ cleanup() { proxy-ca-key.pem proxy-ca.pem proxy-invalid.pem proxy-key.pem } stop_servers() { - kill $pid_server || echo 'failed to kill gnutls-serv' - kill $pid_tlsproxy || echo 'failed to kill tlsproxy' + if test -n "$pid_server"; then + kill $pid_server || echo 'failed to kill gnutls-serv' + fi + if test -n "$pid_tlsproxy"; then + kill $pid_tlsproxy || echo 'failed to kill tlsproxy' + fi } abort() { echo "abort: $*" stop_servers exit 1 } +tlsproxy_setup() { + "$srcdir/../src/tlsproxy-setup" >/dev/null 2>&1 +} +tlsproxy_add() { + "$srcdir/../src/tlsproxy-add" "$1" "$srcdir/$2" >/dev/null 2>&1 +} tlsproxy() { ../src/tlsproxy -d2 "$@" >tlsproxy-log 2>&1 & pid_tlsproxy=$!