diff options
author | Petr Machata <petrm@nvidia.com> | 2023-03-21 12:52:00 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-03-23 08:32:52 +0000 |
commit | ecb3c1e675c719885ac05bb5473fa5c495d1ad24 (patch) | |
tree | 9c93658ef76001a40bb37875ff56ce02ebdb3056 | |
parent | 5c4a9aa856c706def9239d1e43c4ea9fccb5c75a (diff) | |
download | linux-stable-ecb3c1e675c719885ac05bb5473fa5c495d1ad24.tar.gz linux-stable-ecb3c1e675c719885ac05bb5473fa5c495d1ad24.tar.bz2 linux-stable-ecb3c1e675c719885ac05bb5473fa5c495d1ad24.zip |
selftests: rtnetlink: Make the set of tests to run configurable
Extract the list of all tests into a variable, ALL_TESTS. Then assume the
environment variable TESTS holds the list of tests to actually run, falling
back to ALL_TESTS if TESTS is empty. This is the same interface that
forwarding selftests use to make the set of tests to run configurable.
In addition to this, allow setting the value explicitly through a command
line option "-t" along the lines of what fib_nexthops.sh does.
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rwxr-xr-x | tools/testing/selftests/net/rtnetlink.sh | 90 |
1 files changed, 48 insertions, 42 deletions
diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh index 275491be3da2..12caf9602353 100755 --- a/tools/testing/selftests/net/rtnetlink.sh +++ b/tools/testing/selftests/net/rtnetlink.sh @@ -4,6 +4,30 @@ # # set -e +ALL_TESTS=" + kci_test_polrouting + kci_test_route_get + kci_test_addrlft + kci_test_promote_secondaries + kci_test_tc + kci_test_gre + kci_test_gretap + kci_test_ip6gretap + kci_test_erspan + kci_test_ip6erspan + kci_test_bridge + kci_test_addrlabel + kci_test_ifalias + kci_test_vrf + kci_test_encap + kci_test_macsec + kci_test_ipsec + kci_test_ipsec_offload + kci_test_fdb_get + kci_test_neigh_get + kci_test_bridge_parent_id +" + devdummy="test-dummy0" # Kselftest framework requirement - SKIP code is 4. @@ -1227,60 +1251,34 @@ kci_test_bridge_parent_id() kci_test_rtnl() { + local current_test local ret=0 + kci_add_dummy if [ $ret -ne 0 ];then echo "FAIL: cannot add dummy interface" return 1 fi - kci_test_polrouting - check_err $? - kci_test_route_get - check_err $? - kci_test_addrlft - check_err $? - kci_test_promote_secondaries - check_err $? - kci_test_tc - check_err $? - kci_test_gre - check_err $? - kci_test_gretap - check_err $? - kci_test_ip6gretap - check_err $? - kci_test_erspan - check_err $? - kci_test_ip6erspan - check_err $? - kci_test_bridge - check_err $? - kci_test_addrlabel - check_err $? - kci_test_ifalias - check_err $? - kci_test_vrf - check_err $? - kci_test_encap - check_err $? - kci_test_macsec - check_err $? - kci_test_ipsec - check_err $? - kci_test_ipsec_offload - check_err $? - kci_test_fdb_get - check_err $? - kci_test_neigh_get - check_err $? - kci_test_bridge_parent_id - check_err $? + for current_test in ${TESTS:-$ALL_TESTS}; do + $current_test + check_err $? + done kci_del_dummy return $ret } +usage() +{ + cat <<EOF +usage: ${0##*/} OPTS + + -t <test> Test(s) to run (default: all) + (options: $(echo $ALL_TESTS)) +EOF +} + #check for needed privileges if [ "$(id -u)" -ne 0 ];then echo "SKIP: Need root privileges" @@ -1295,6 +1293,14 @@ for x in ip tc;do fi done +while getopts t:h o; do + case $o in + t) TESTS=$OPTARG;; + h) usage; exit 0;; + *) usage; exit 1;; + esac +done + kci_test_rtnl exit $? |