summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Machata <petrm@nvidia.com>2023-03-21 12:52:00 +0100
committerDavid S. Miller <davem@davemloft.net>2023-03-23 09:32:52 +0100
commitecb3c1e675c719885ac05bb5473fa5c495d1ad24 (patch)
tree9c93658ef76001a40bb37875ff56ce02ebdb3056
parentnet: ipv4: Allow changing IPv4 address protocol (diff)
downloadlinux-ecb3c1e675c719885ac05bb5473fa5c495d1ad24.tar.xz
linux-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-xtools/testing/selftests/net/rtnetlink.sh90
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 $?