From f46f128f4a6021fa11395bb8109ab965607915e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Thu, 11 Dec 2014 11:51:28 +0100 Subject: [PATCH] Fix test scripts portability issues --- tests/compat.sh | 30 +++++++++++++++--------------- tests/ssl-opt.sh | 21 +++++++++++---------- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/tests/compat.sh b/tests/compat.sh index 861d20e10..260b26f07 100755 --- a/tests/compat.sh +++ b/tests/compat.sh @@ -51,16 +51,16 @@ PEERS="OpenSSL$PEER_GNUTLS PolarSSL" print_usage() { echo "Usage: $0" - echo -e " -h|--help\tPrint this help." - echo -e " -f|--filter\tOnly matching ciphersuites are tested (Default: '$FILTER')" - echo -e " -e|--exclude\tMatching ciphersuites are excluded (Default: '$EXCLUDE')" - echo -e " -m|--modes\tWhich modes to perform (Default: '$MODES')" - echo -e " -t|--types\tWhich key exchange type to perform (Default: '$TYPES')" - echo -e " -V|--verify\tWhich verification modes to perform (Default: '$VERIFIES')" - echo -e " -p|--peers\tWhich peers to use (Default: '$PEERS')" - echo -e " \tAlso available: GnuTLS (needs v3.2.15 or higher)" - echo -e " -M|--memcheck\tCheck memory leaks and errors." - echo -e " -v|--verbose\tSet verbose output." + printf " -h|--help\tPrint this help.\n" + printf " -f|--filter\tOnly matching ciphersuites are tested (Default: '$FILTER')\n" + printf " -e|--exclude\tMatching ciphersuites are excluded (Default: '$EXCLUDE')\n" + printf " -m|--modes\tWhich modes to perform (Default: '$MODES')\n" + printf " -t|--types\tWhich key exchange type to perform (Default: '$TYPES')\n" + printf " -V|--verify\tWhich verification modes to perform (Default: '$VERIFIES')\n" + printf " -p|--peers\tWhich peers to use (Default: '$PEERS')\n" + printf " \tAlso available: GnuTLS (needs v3.2.15 or higher)\n" + printf " -M|--memcheck\tCheck memory leaks and errors.\n" + printf " -v|--verbose\tSet verbose output.\n" } get_options() { @@ -121,7 +121,7 @@ filter() done # normalize whitespace - echo "$NEW_LIST" | sed -e 's/[[:space:]]\+/ /g' -e 's/^ //' -e 's/ $//' + echo "$NEW_LIST" | sed -e 's/[[:space:]][[:space:]]*/ /g' -e 's/^ //' -e 's/ $//' } filter_ciphersuites() @@ -834,9 +834,9 @@ run_client() { VERIF=$(echo $VERIFY | tr '[:upper:]' '[:lower:]') TITLE="`echo $1 | head -c1`->`echo $SERVER_NAME | head -c1`" TITLE="$TITLE $MODE,$VERIF $2" - echo -n "$TITLE " + printf "$TITLE " LEN=$(( 72 - `echo "$TITLE" | wc -c` )) - for i in `seq 1 $LEN`; do echo -n '.'; done; echo -n ' ' + for i in `seq 1 $LEN`; do printf '.'; done; printf ' ' # run the command and interpret result case $1 in @@ -1095,9 +1095,9 @@ echo "------------------------------------------------------------------------" if [ $FAILED -ne 0 -o $SRVMEM -ne 0 ]; then - echo -n "FAILED" + printf "FAILED" else - echo -n "PASSED" + printf "PASSED" fi if [ "$MEMCHECK" -gt 0 ]; then diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh index 4eafed436..f94808d2c 100755 --- a/tests/ssl-opt.sh +++ b/tests/ssl-opt.sh @@ -34,10 +34,10 @@ EXCLUDE='^$' print_usage() { echo "Usage: $0 [options]" - echo -e " -h|--help\tPrint this help." - echo -e " -m|--memcheck\tCheck memory leaks and errors." - echo -e " -f|--filter\tOnly matching tests are executed (default: '$FILTER')" - echo -e " -e|--exclude\tMatching tests are excluded (default: '$EXCLUDE')" + printf " -h|--help\tPrint this help.\n" + printf " -m|--memcheck\tCheck memory leaks and errors.\n" + printf " -f|--filter\tOnly matching tests are executed (default: '$FILTER')\n" + printf " -e|--exclude\tMatching tests are excluded (default: '$EXCLUDE')\n" } get_options() { @@ -96,10 +96,10 @@ requires_gnutls() { # print_name print_name() { - echo -n "$1 " + printf "$1 " LEN=$(( 72 - `echo "$1" | wc -c` )) - for i in `seq 1 $LEN`; do echo -n '.'; done - echo -n ' ' + for i in `seq 1 $LEN`; do printf '.'; done + printf ' ' TESTS=$(( $TESTS + 1 )) } @@ -148,7 +148,8 @@ wait_server_start() { WATCHDOG_PID=$! # make a tight loop, server usually takes less than 1 sec to start - until lsof -nbi TCP:"$PORT" | grep LISTEN >/dev/null; do :; done + until lsof -nbi TCP:"$PORT" 2>/dev/null | grep LISTEN >/dev/null; + do :; done kill $WATCHDOG_PID wait $WATCHDOG_PID @@ -1848,9 +1849,9 @@ run_test "Large packet TLS 1.2 AEAD shorter tag" \ echo "------------------------------------------------------------------------" if [ $FAILS = 0 ]; then - echo -n "PASSED" + printf "PASSED" else - echo -n "FAILED" + printf "FAILED" fi PASSES=$(( $TESTS - $FAILS )) echo " ($PASSES / $TESTS tests ($SKIPS skipped))"