selftests: fib_tests: Add command line options

Add command line options for controlling pause on fail, controlling
specific tests to run and verbose mode rather than relying on environment
variables.

Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Ahern 2018-05-21 10:26:55 -07:00 коммит произвёл David S. Miller
Родитель 37ce42c14e
Коммит 1c7447b4e8
1 изменённых файлов: 40 добавлений и 13 удалений

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

@ -6,8 +6,9 @@
ret=0
VERBOSE=${VERBOSE:=0}
PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no}
TESTS="unregister down carrier nexthop"
VERBOSE=0
PAUSE_ON_FAIL=no
IP="ip -netns testns"
log_test()
@ -565,20 +566,36 @@ fib_nexthop_test()
}
################################################################################
#
# usage
fib_test()
usage()
{
if [ -n "$TEST" ]; then
eval $TEST
else
fib_unreg_test
fib_down_test
fib_carrier_test
fib_nexthop_test
fi
cat <<EOF
usage: ${0##*/} OPTS
-t <test> Test(s) to run (default: all)
(options: $TESTS)
-p Pause on fail
-v verbose mode (show commands and output)
EOF
}
################################################################################
# main
while getopts :t:pPhv o
do
case $o in
t) TESTS=$OPTARG;;
p) PAUSE_ON_FAIL=yes;;
v) VERBOSE=$(($VERBOSE + 1));;
h) usage; exit 0;;
*) usage; exit 1;;
esac
done
PEER_CMD="ip netns exec ${PEER_NS}"
if [ "$(id -u)" -ne 0 ];then
echo "SKIP: Need root privileges"
exit 0
@ -598,7 +615,17 @@ fi
# start clean
cleanup &> /dev/null
fib_test
for t in $TESTS
do
case $t in
fib_unreg_test|unregister) fib_unreg_test;;
fib_down_test|down) fib_down_test;;
fib_carrier_test|carrier) fib_carrier_test;;
fib_nexthop_test|nexthop) fib_nexthop_test;;
help) echo "Test names: $TESTS"; exit 0;;
esac
done
if [ "$TESTS" != "none" ]; then
printf "\nTests passed: %3d\n" ${nsuccess}