X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=tests%2Fcommon.sh;h=68ff879f5fcee26b14c06471147e9d4894d67980;hb=219d904b7d12173ee93d016fe1a2cb8ae32eea9c;hp=ff457457c3dfee76eadead61a7a7d3b536e34a92;hpb=e70b5abf4baa2a8780ed26d026a8aae1c241ebc4;p=tlsproxy%2Ftlsproxy.git diff --git a/tests/common.sh b/tests/common.sh index ff45745..68ff879 100644 --- a/tests/common.sh +++ b/tests/common.sh @@ -28,8 +28,7 @@ trap 'abort SIGINT' INT cleanup() { rm -f \ tmp tlsproxy-log \ - certificate-localhost-proxy.pem certificate-localhost-server.pem \ - proxy-ca-key.pem proxy-ca.pem proxy-invalid.pem proxy-key.pem + certificate-localhost-proxy.pem certificate-localhost-server.pem } stop_servers() { if test -n "$pid_server"; then @@ -45,6 +44,17 @@ abort() { exit 1 } tlsproxy_setup() { + # Don't waste time running `tlsproxy-setup` when all files are still + # present. + if test -f proxy-ca-key.pem && + test -f proxy-ca.pem && + test -f proxy-dh.pem && + test -f proxy-invalid.pem && + test -f proxy-key.pem + then + return + fi + "$srcdir/../src/tlsproxy-setup" >/dev/null 2>&1 } tlsproxy_add() { @@ -55,6 +65,7 @@ tlsproxy_add() { "$srcdir/../src/tlsproxy-add" "$1" < "$srcdir/$2" >/dev/null 2>&1 } tlsproxy() { + #valgrind --leak-check=full --error-exitcode=1 --track-fds=yes \ ../src/tlsproxy -d2 "$@" >tlsproxy-log 2>&1 & pid_tlsproxy=$! } @@ -67,7 +78,7 @@ client() { } wait_for_ports() { - while :; do + for x in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do sleep 1 # Check if each given port can be reached. @@ -92,6 +103,16 @@ test_proxy_failure() { grep 'response: HTTP/1.0 503 Forwarding failure' tmp >/dev/null \ || abort 'test_proxy_failure 2' } +test_proxy_authentication_failure() { + grep 'proxy failure' tmp >/dev/null \ + || abort 'test_proxy_authentication_failure' + grep 'response: HTTP/1.0 407 Proxy Authentication Required' tmp >/dev/null \ + || abort 'test_proxy_authentication_failure 2' +} +test_authentication_missing() { + grep 'response: HTTP/1.0 407 Proxy Authentication Required' tmp >/dev/null \ + || abort 'test_authentication_missing' +} test_proxy_successful() { grep 'response: HTTP/1.0 200 Connection established' tmp >/dev/null \ || abort 'test_proxy_successful'