Use arithmetic expansion in scripts, avoid bashisms
diff --git a/.travis.yml b/.travis.yml
index 0e79aa9..161f726 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,7 @@
- clang
- gcc
before_install: sudo apt-get update
-install: sudo apt-get install bc gnutls-bin valgrind perl
+install: sudo apt-get install gnutls-bin valgrind perl
script:
- cmake -D CMAKE_BUILD_TYPE:String="Check" .
- make
diff --git a/tests/compat.sh b/tests/compat.sh
index cff581d..e4f5a46 100755
--- a/tests/compat.sh
+++ b/tests/compat.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# Test interop with OpenSSL and GnuTLS (and self-op while at it).
#
@@ -19,10 +19,10 @@
fi
# initialise counters
-let "tests = 0"
-let "failed = 0"
-let "skipped = 0"
-let "srvmem = 0"
+TESTS=0
+FAILED=0
+SKIPPED=0
+SRVMEM=0
# default commands, can be overriden by the environment
: ${P_SRV:=../programs/ssl/ssl_server2}
@@ -791,7 +791,7 @@
if [ "$MEMCHECK" -gt 0 ]; then
if is_polar "$SERVER_CMD" && has_mem_err $SRV_OUT; then
echo " ! Server had memory errors"
- let "srvmem++"
+ SRVMEM=$(( $SRVMEM + 1 ))
return
fi
fi
@@ -826,12 +826,12 @@
# run_client <name> <cipher>
run_client() {
# announce what we're going to do
- let "tests++"
+ TESTS=$(( $TESTS + 1 ))
VERIF=$(echo $VERIFY | tr '[:upper:]' '[:lower:]')
- TITLE="${1:0:1}->${SERVER_NAME:0:1} $MODE,$VERIF $2"
+ TITLE="`echo $1 | head -c1`->`echo $SERVER_NAME | head -c1`"
+ TITLE="$TITLE $MODE,$VERIF $2"
echo -n "$TITLE "
- LEN=`echo "$TITLE" | wc -c`
- LEN=`echo 72 - $LEN | bc`
+ LEN=$(( 72 - `echo "$TITLE" | wc -c` ))
for i in `seq 1 $LEN`; do echo -n '.'; done; echo -n ' '
# run the command and interpret result
@@ -843,7 +843,7 @@
( echo -e 'GET HTTP/1.0'; echo; ) | $CLIENT_CMD >> $CLI_OUT 2>&1 &
wait_client_done
- if [ "$EXIT" == "0" ]; then
+ if [ $EXIT -eq 0 ]; then
RESULT=0
else
if grep 'Cipher is (NONE)' $CLI_OUT >/dev/null; then
@@ -861,7 +861,7 @@
( echo -e 'GET HTTP/1.0'; echo; ) | $CLIENT_CMD >> $CLI_OUT 2>&1 &
wait_client_done
- if [ "$EXIT" == "0" ]; then
+ if [ $EXIT -eq 0 ]; then
RESULT=0
else
RESULT=2
@@ -915,14 +915,14 @@
;;
"1")
echo SKIP
- let "skipped++"
+ SKIPPED=$(( $SKIPPED + 1 ))
;;
"2")
echo FAIL
- cp $SRV_OUT c-srv-${tests}.log
- cp $CLI_OUT c-cli-${tests}.log
- echo " ! outputs saved to c-srv-${tests}.log, c-cli-${tests}.log"
- let "failed++"
+ cp $SRV_OUT c-srv-${TESTS}.log
+ cp $CLI_OUT c-cli-${TESTS}.log
+ echo " ! outputs saved to c-srv-${TESTS}.log, c-cli-${TESTS}.log"
+ FAILED=$(( $FAILED + 1 ))
;;
esac
@@ -1080,7 +1080,7 @@
echo "------------------------------------------------------------------------"
-if (( failed != 0 || srvmem != 0 ));
+if [ $FAILED -ne 0 -o $SRVMEM -ne 0 ];
then
echo -n "FAILED"
else
@@ -1088,13 +1088,13 @@
fi
if [ "$MEMCHECK" -gt 0 ]; then
- MEMREPORT=", $srvmem server memory errors"
+ MEMREPORT=", $SRVMEM server memory errors"
else
MEMREPORT=""
fi
-let "passed = tests - failed"
-echo " ($passed / $tests tests ($skipped skipped$MEMREPORT))"
+PASSED=$(( $TESTS - $FAILED ))
+echo " ($PASSED / $TESTS tests ($SKIPPED skipped$MEMREPORT))"
-let "failed += srvmem"
-exit $failed
+FAILED=$(( $FAILED + $SRVMEM ))
+exit $FAILED
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index 225df96..070d2ce 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -97,12 +97,11 @@
# print_name <name>
print_name() {
echo -n "$1 "
- LEN=`echo "$1" | wc -c`
- LEN=`echo 72 - $LEN | bc`
+ LEN=$(( 72 - `echo "$1" | wc -c` ))
for i in `seq 1 $LEN`; do echo -n '.'; done
echo -n ' '
- TESTS=`echo $TESTS + 1 | bc`
+ TESTS=$(( $TESTS + 1 ))
}
# fail <message>
@@ -114,7 +113,7 @@
cp $CLI_OUT o-cli-${TESTS}.log
echo " ! outputs saved to o-srv-${TESTS}.log and o-cli-${TESTS}.log"
- FAILS=`echo $FAILS + 1 | bc`
+ FAILS=$(( $FAILS + 1 ))
}
# is_polar <cmd_line>
@@ -190,7 +189,7 @@
if [ "X$SKIP_NEXT" = "XYES" ]; then
SKIP_NEXT="NO"
echo "SKIP"
- SKIPS=`echo $SKIPS + 1 | bc`
+ SKIPS=$(( $SKIPS + 1 ))
return
fi
@@ -1845,7 +1844,7 @@
else
echo -n "FAILED"
fi
-PASSES=`echo $TESTS - $FAILS | bc`
+PASSES=$(( $TESTS - $FAILS ))
echo " ($PASSES / $TESTS tests ($SKIPS skipped))"
exit $FAILS