From a365addc0ab5cffbff077117344d150aba328787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Tue, 4 Aug 2015 20:57:59 +0200 Subject: [PATCH] Make ssl-opt.sh more robust against client timeout Retry one time in case we have a client timeout. These should be fairly rare but still happen from time to time with udp_proxy tests which is annoying, and until now has never indicated an actual issue. --- tests/ssl-opt.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh index 953ebe816..c2da88800 100755 --- a/tests/ssl-opt.sh +++ b/tests/ssl-opt.sh @@ -255,7 +255,7 @@ wait_client_done() { CLI_DELAY=$(( $DOG_DELAY * $CLI_DELAY_FACTOR )) CLI_DELAY_FACTOR=1 - ( sleep $CLI_DELAY; echo "TIMEOUT" >> $CLI_OUT; kill $CLI_PID ) & + ( sleep $CLI_DELAY; echo "===CLIENT_TIMEOUT===" >> $CLI_OUT; kill $CLI_PID ) & DOG_PID=$! wait $CLI_PID @@ -335,6 +335,10 @@ run_test() { fi fi + TIMES_LEFT=2 + while [ $TIMES_LEFT -gt 0 ]; do + TIMES_LEFT=$(( $TIMES_LEFT - 1 )) + # run the commands if [ -n "$PXY_CMD" ]; then echo "$PXY_CMD" > $PXY_OUT @@ -361,6 +365,14 @@ run_test() { wait $PXY_PID fi + # retry only on timeouts + if grep '===CLIENT_TIMEOUT===' $CLI_OUT >/dev/null; then + printf "RETRY " + else + TIMES_LEFT=0 + fi + done + # check if the client and server went at least to the handshake stage # (useful to avoid tests with only negative assertions and non-zero # expected client exit to incorrectly succeed in case of catastrophic