Make the openssl command configurable in sh tests
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index a1e3f51..7332af9 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -10,12 +10,13 @@
set -u
-PROGS_DIR='../programs/ssl'
-P_SRV="$PROGS_DIR/ssl_server2 server_addr=0.0.0.0" # force IPv4 for OpenSSL
-P_CLI="$PROGS_DIR/ssl_client2"
+# default values, can be overriden by the environment
+: ${P_SRV:=../programs/ssl/ssl_server2}
+: ${P_CLI:=../programs/ssl/ssl_client2}
+: ${OPENSSL:=openssl}
-O_ARGS="-www -cert data_files/server5.crt -key data_files/server5.key"
-O_CLI="echo 'GET / HTTP/1.0' | openssl s_client"
+O_SRV="$OPENSSL s_server -www -cert data_files/server5.crt -key data_files/server5.key"
+O_CLI="echo 'GET / HTTP/1.0' | $OPENSSL s_client"
TESTS=0
FAILS=0
@@ -25,7 +26,7 @@
print_usage() {
echo "Usage: $0 [options]"
echo -e " -h, --help\tPrint this help."
- echo -e " -m, --memcheck\tCheck memory leaks."
+ echo -e " -m, --memcheck\tCheck memory leaks and errors."
}
get_options() {
@@ -118,7 +119,7 @@
$SHELL -c "$CLI_CMD" > cli_out 2>&1
CLI_EXIT=$?
if is_polar "$SRV_CMD"; then
- echo SERVERQUIT | openssl s_client -no_ticket \
+ echo SERVERQUIT | $OPENSSL s_client -no_ticket \
-cert data_files/cli2.crt -key data_files/cli2.key \
>/dev/null 2>&1
else
@@ -225,6 +226,20 @@
# MAIN
#
+# sanity checks, avoid an avalanche of errors
+if [ ! -x "$P_SRV" ]; then
+ echo "Command '$P_SRV' is not an executable file"
+ exit 1
+fi
+if [ ! -x "$P_CLI" ]; then
+ echo "Command '$P_CLI' is not an executable file"
+ exit 1
+fi
+if which $OPENSSL >/dev/null 2>&1; then :; else
+ echo "Command '$OPENSSL' not found"
+ exit 1
+fi
+
get_options "$@"
killall -q openssl ssl_server ssl_server2
@@ -306,7 +321,7 @@
-C "a session has been resumed"
run_test "Session resume using tickets #4 (openssl server)" \
- "openssl s_server $O_ARGS" \
+ "$O_SRV" \
"$P_CLI debug_level=4 tickets=1 reconnect=1" \
0 \
-c "client hello, adding session ticket extension" \
@@ -410,7 +425,7 @@
-s "a session has been resumed"
run_test "Session resume using cache #9 (openssl server)" \
- "openssl s_server $O_ARGS" \
+ "$O_SRV" \
"$P_CLI debug_level=4 tickets=0 reconnect=1" \
0 \
-C "found session_ticket extension" \