]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
EXAMPLES: opentracing: refined shell scripts for testing filter performance
authorMiroslav Zagorac <mzagorac@haproxy.com>
Wed, 9 Mar 2022 16:34:11 +0000 (17:34 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 8 Apr 2022 14:31:33 +0000 (16:31 +0200)
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
addons/ot/test/run-ctx.sh
addons/ot/test/run-fe-be.sh
addons/ot/test/run-sa.sh
addons/ot/test/test-speed.sh

index 77b48bd01406203effa8cab38ec6362fbe0ccece..8e678b7faa29dfa98170b88702a6c90c48d778b2 100755 (executable)
@@ -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
index 064fa7dce45bd1cbbf99bdd60c6795da2adaa5f4..bfac617250607d2452fedec8e76f797a0ff30a77 100755 (executable)
@@ -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
index 7e70ad618ad47e6e7a35197d22ab7179711e75c9..68b250c0e064343e137619479d73e6cb90dfe343 100755 (executable)
@@ -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 ()
index e5682ea7446b24866b8eec5268b5e0dfba411a7d..04a303a4f7133604bc872fa5286fab9b4b5f0253 100755 (executable)
@@ -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
index ef2ccf061e6d668c1184b33614f6e9fa5a003425..f2ac5140eb994f568e800d32841f8e4f3d95f280 100755 (executable)
@@ -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"