diff options
author | David Ahern <dsahern@gmail.com> | 2018-05-21 10:26:55 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-22 14:44:19 -0400 |
commit | 1c7447b4e8966a9c3a5eafc19c5ca20c385025c1 (patch) | |
tree | d791b2bb10bd308b0f8159142d2fb9a92515b737 | |
parent | 37ce42c14edad0d979444d8a589ae2299edb464d (diff) | |
download | linux-1c7447b4e8966a9c3a5eafc19c5ca20c385025c1.tar.bz2 |
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>
-rwxr-xr-x | tools/testing/selftests/net/fib_tests.sh | 53 |
1 files changed, 40 insertions, 13 deletions
diff --git a/tools/testing/selftests/net/fib_tests.sh b/tools/testing/selftests/net/fib_tests.sh index 7e2291161e15..8c99f0689efc 100755 --- a/tools/testing/selftests/net/fib_tests.sh +++ b/tools/testing/selftests/net/fib_tests.sh @@ -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} |