From 4303124ad5879a100c6ddd6c28c74164de8e7afb Mon Sep 17 00:00:00 2001 From: Ruediger Meier Date: Wed, 17 Feb 2016 15:01:21 +0100 Subject: tests: fix ts_option helpers These two problems should be fixed now: - BSD awk only accepts 1-char field seperator - ts_has_option() did not returned "yes" if an option was given multiple times Signed-off-by: Ruediger Meier --- tests/functions.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'tests/functions.sh') diff --git a/tests/functions.sh b/tests/functions.sh index d3367e1a5..e639e7362 100644 --- a/tests/functions.sh +++ b/tests/functions.sh @@ -158,13 +158,15 @@ function ts_has_option { fi # or just check the global command line options - echo -n $ALL | sed 's/ //g' | awk 'BEGIN { FS="="; RS="--" } /('$NAME'$|'$NAME'=)/ { print "yes" }' + if [[ $ALL =~ ([$' \t\n']|^)--$NAME([$'= \t\n']|$) ]]; then echo yes; fi } function ts_option_argument { NAME="$1" ALL="$2" - echo -n $ALL | sed 's/ //g' | awk 'BEGIN { FS="="; RS="--" } /'$NAME'=/ { print $2 }' + + # last option wins! + echo "$ALL" | sed -n "s/.*[ \t\n]--$NAME=\([^ \t\n]*\).*/\1/p" | tail -n 1 } function ts_init_core_env { -- cgit v1.2.3-55-g7522