selftests: fib-onlink: Make quiet by default

Add VERBOSE argument to fib-onlink-tests.sh and make output quiet by
default. Add getopt parsing of inputs and support for -v (verbose) and
-p (pause on fail).

Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Ahern 2019-05-22 12:09:16 -07:00 коммит произвёл David S. Miller
Родитель 75425657fe
Коммит 9b7e94e6e8
1 изменённых файлов: 43 добавлений и 5 удалений

Просмотреть файл

@ -4,6 +4,7 @@
# IPv4 and IPv6 onlink tests
PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no}
VERBOSE=0
# Network interfaces
# - odd in current namespace; even in peer ns
@ -91,10 +92,10 @@ log_test()
if [ ${rc} -eq ${expected} ]; then
nsuccess=$((nsuccess+1))
printf "\n TEST: %-50s [ OK ]\n" "${msg}"
printf " TEST: %-50s [ OK ]\n" "${msg}"
else
nfail=$((nfail+1))
printf "\n TEST: %-50s [FAIL]\n" "${msg}"
printf " TEST: %-50s [FAIL]\n" "${msg}"
if [ "${PAUSE_ON_FAIL}" = "yes" ]; then
echo
echo "hit enter to continue, 'q' to quit"
@ -121,9 +122,23 @@ log_subsection()
run_cmd()
{
echo
echo "COMMAND: $*"
eval $*
local cmd="$*"
local out
local rc
if [ "$VERBOSE" = "1" ]; then
printf " COMMAND: $cmd\n"
fi
out=$(eval $cmd 2>&1)
rc=$?
if [ "$VERBOSE" = "1" -a -n "$out" ]; then
echo " $out"
fi
[ "$VERBOSE" = "1" ] && echo
return $rc
}
get_linklocal()
@ -450,12 +465,35 @@ run_onlink_tests()
invalid_onlink_ipv6
}
################################################################################
# usage
usage()
{
cat <<EOF
usage: ${0##*/} OPTS
-p Pause on fail
-v verbose mode (show commands and output)
EOF
}
################################################################################
# main
nsuccess=0
nfail=0
while getopts :t:pPhv o
do
case $o in
p) PAUSE_ON_FAIL=yes;;
v) VERBOSE=$(($VERBOSE + 1));;
h) usage; exit 0;;
*) usage; exit 1;;
esac
done
cleanup
setup
run_onlink_tests