From 9154e00f70d0680d4caee5602b661768d75fd346 Mon Sep 17 00:00:00 2001 From: Miroslav Zagorac Date: Wed, 9 Mar 2022 17:34:11 +0100 Subject: [PATCH] EXAMPLES: opentracing: refined shell scripts for testing filter performance When calling the 'basename' command, the argument ${0} is enclosed in quotation marks. This is necessary if the path of the executable script (contained in that argument) has "non-standard" elements, such as space and the like. Also, in the script 'test-speed.sh' the function sh_exit() has been added for easier printing of messages at the end of execution. This patch must be backported as far as 2.4. --- addons/ot/test/run-cmp.sh | 2 +- addons/ot/test/run-ctx.sh | 2 +- addons/ot/test/run-fe-be.sh | 4 ++-- addons/ot/test/run-sa.sh | 2 +- addons/ot/test/test-speed.sh | 37 ++++++++++++++++++++++++++++-------- 5 files changed, 34 insertions(+), 13 deletions(-) diff --git a/addons/ot/test/run-cmp.sh b/addons/ot/test/run-cmp.sh index 77b48bd014..8e678b7faa 100755 --- a/addons/ot/test/run-cmp.sh +++ b/addons/ot/test/run-cmp.sh @@ -3,7 +3,7 @@ _ARG_HAPROXY="${1:-$(realpath -L ${PWD}/../../../haproxy)}" _ARGS="-f cmp/haproxy.cfg" _LOG_DIR="_logs" - _LOG="${_LOG_DIR}/_log-$(basename ${0} .sh)-$(date +%s)" + _LOG="${_LOG_DIR}/_log-$(basename "${0}" .sh)-$(date +%s)" test -x "${_ARG_HAPROXY}" || exit 1 diff --git a/addons/ot/test/run-ctx.sh b/addons/ot/test/run-ctx.sh index 064fa7dce4..bfac617250 100755 --- a/addons/ot/test/run-ctx.sh +++ b/addons/ot/test/run-ctx.sh @@ -3,7 +3,7 @@ _ARG_HAPROXY="${1:-$(realpath -L ${PWD}/../../../haproxy)}" _ARGS="-f ctx/haproxy.cfg" _LOG_DIR="_logs" - _LOG="${_LOG_DIR}/_log-$(basename ${0} .sh)-$(date +%s)" + _LOG="${_LOG_DIR}/_log-$(basename "${0}" .sh)-$(date +%s)" test -x "${_ARG_HAPROXY}" || exit 1 diff --git a/addons/ot/test/run-fe-be.sh b/addons/ot/test/run-fe-be.sh index 7e70ad618a..68b250c0e0 100755 --- a/addons/ot/test/run-fe-be.sh +++ b/addons/ot/test/run-fe-be.sh @@ -5,8 +5,8 @@ _ARG_HAPROXY="${1:-$(realpath -L ${PWD}/../../../haproxy)}" _ARGS_BE="-f be/haproxy.cfg" _TIME="$(date +%s)" _LOG_DIR="_logs" - _LOG_FE="${_LOG_DIR}/_log-$(basename ${0} fe-be.sh)fe-${_TIME}" - _LOG_BE="${_LOG_DIR}/_log-$(basename ${0} fe-be.sh)be-${_TIME}" + _LOG_FE="${_LOG_DIR}/_log-$(basename "${0}" fe-be.sh)fe-${_TIME}" + _LOG_BE="${_LOG_DIR}/_log-$(basename "${0}" fe-be.sh)be-${_TIME}" __exit () diff --git a/addons/ot/test/run-sa.sh b/addons/ot/test/run-sa.sh index e5682ea744..04a303a4f7 100755 --- a/addons/ot/test/run-sa.sh +++ b/addons/ot/test/run-sa.sh @@ -3,7 +3,7 @@ _ARG_HAPROXY="${1:-$(realpath -L ${PWD}/../../../haproxy)}" _ARGS="-f sa/haproxy.cfg" _LOG_DIR="_logs" - _LOG="${_LOG_DIR}/_log-$(basename ${0} .sh)-$(date +%s)" + _LOG="${_LOG_DIR}/_log-$(basename "${0}" .sh)-$(date +%s)" test -x "${_ARG_HAPROXY}" || exit 1 diff --git a/addons/ot/test/test-speed.sh b/addons/ot/test/test-speed.sh index ef2ccf061e..f2ac5140eb 100755 --- a/addons/ot/test/test-speed.sh +++ b/addons/ot/test/test-speed.sh @@ -1,11 +1,28 @@ #!/bin/sh # _ARG_CFG="${1}" - _ARG_DIR="${2}" + _ARG_DIR="${2:-${1}}" _LOG_DIR="_logs" _HTTPD_PIDFILE="${_LOG_DIR}/thttpd.pid" + _USAGE_MSG="usage: $(basename "${0}") cfg [dir]" +sh_exit () +{ + test -z "${2}" && { + echo + echo "Script killed!" + } + + test -n "${1}" && { + echo + echo "${1}" + echo + } + + exit ${2:-64} +} + httpd_run () { @@ -63,18 +80,22 @@ wrk_run () } -mkdir -p "${_LOG_DIR}" || exit 1 +command -v thttpd >/dev/null 2>&1 || sh_exit "thttpd: command not found" 5 +command -v wrk >/dev/null 2>&1 || sh_exit "wrk: command not found" 6 + +mkdir -p "${_LOG_DIR}" || sh_exit "${_LOG_DIR}: Cannot create log directory" 1 if test "${_ARG_CFG}" = "all"; then - ${0} fe-be fe > "${_LOG_DIR}/README-speed-fe-be" - ${0} sa sa > "${_LOG_DIR}/README-speed-sa" - ${0} cmp cmp > "${_LOG_DIR}/README-speed-cmp" - ${0} ctx ctx > "${_LOG_DIR}/README-speed-ctx" + "${0}" fe-be fe > "${_LOG_DIR}/README-speed-fe-be" + "${0}" sa sa > "${_LOG_DIR}/README-speed-sa" + "${0}" cmp cmp > "${_LOG_DIR}/README-speed-cmp" + "${0}" ctx ctx > "${_LOG_DIR}/README-speed-ctx" exit 0 fi -test -n "${_ARG_CFG}" -a -f "run-${_ARG_CFG}.sh" || exit 2 -test -n "${_ARG_DIR}" -a -d "${_ARG_DIR}" || exit 3 +test -z "${_ARG_CFG}" -o -z "${_ARG_DIR}" && sh_exit "${_USAGE_MSG}" 4 +test -f "run-${_ARG_CFG}.sh" || sh_exit "run-${_ARG_CFG}.sh: No such configuration script" 2 +test -d "${_ARG_DIR}" || sh_exit "${_ARG_DIR}: No such directory" 3 test -e "${_ARG_DIR}/haproxy.cfg.in" || cp -af "${_ARG_DIR}/haproxy.cfg" "${_ARG_DIR}/haproxy.cfg.in" test -e "${_ARG_DIR}/ot.cfg.in" || cp -af "${_ARG_DIR}/ot.cfg" "${_ARG_DIR}/ot.cfg.in"