From: Michal Privoznik <mprivozn(a)redhat.com>
Instead of treating -d and -v arguments as positional, use
getopts to parse cmd line arguments passed to
virt-aa-helper-test script.
While at it, introduce -h for printing basic help describing each
argument.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/virt-aa-helper-test | 49 ++++++++++++++++++++++++++++-----------
1 file changed, 35 insertions(+), 14 deletions(-)
diff --git a/tests/virt-aa-helper-test b/tests/virt-aa-helper-test
index c0b8c1bafe..f8df901d4f 100755
--- a/tests/virt-aa-helper-test
+++ b/tests/virt-aa-helper-test
@@ -10,21 +10,42 @@ set -e
output="/dev/null"
use_valgrind=""
ld_library_path="$abs_top_builddir/tests/:$abs_top_builddir/src/"
-if [ ! -z "$1" ] && [ "$1" = "-d" ]; then
- output="/dev/stdout"
- shift
-fi
-
exe="$abs_top_builddir/src/virt-aa-helper"
-if [ ! -z "$1" ]; then
- if [ "$1" = "-v" ]; then
- use_valgrind="yes"
- shift
- fi
- if [ -n "$1" ]; then
- exe="$1"
- shift
- fi
+
+usage() {
+ script=`basename $1`
+ echo "$script: [OPTIONS] [EXE]"
+ echo " OPTIONS:"
+ echo " -d print debug onto stdout"
+ echo " -h print this help"
+ echo " -v to wrap virt-aa-helper invocation into valgrind"
+ echo " EXE use specified virt-aa-helper"
+}
+
+while getopts "dhv" opt; do
+ case ${opt} in
+ d)
+ output="/dev/stdout"
+ ;;
+ v)
+ use_valgrind="yes"
+ ;;
+ h)
+ usage $0
+ exit 0
+ ;;
+ ?)
+ usage $0
+ exit 1
+ ;;
+ esac
+done
+
+
+shift $((OPTIND - 1))
+if [ -n "$1" ]; then
+ exe="$1"
+ shift
fi
if [ ! -x "$exe" ]; then
--
2.49.0