]> git.baikalelectronics.ru Git - kernel.git/commitdiff
selftests/net: Use kselftest skip code for skipped tests
authorPo-Hsu Lin <po-hsu.lin@canonical.com>
Mon, 23 Aug 2021 08:58:54 +0000 (16:58 +0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 24 Aug 2021 23:49:09 +0000 (16:49 -0700)
There are several test cases in the net directory are still using
exit 0 or exit 1 when they need to be skipped. Use kselftest
framework skip code instead so it can help us to distinguish the
return status.

Criterion to filter out what should be fixed in net directory:
  grep -r "exit [01]" -B1 | grep -i skip

This change might cause some false-positives if people are running
these test scripts directly and only checking their return codes,
which will change from 0 to 4. However I think the impact should be
small as most of our scripts here are already using this skip code.
And there will be no such issue if running them with the kselftest
framework.

Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Ido Schimmel <idosch@nvidia.com>
Link: https://lore.kernel.org/r/20210823085854.40216-1-po-hsu.lin@canonical.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
12 files changed:
tools/testing/selftests/net/fcnal-test.sh
tools/testing/selftests/net/fib_rule_tests.sh
tools/testing/selftests/net/forwarding/devlink_lib.sh
tools/testing/selftests/net/forwarding/lib.sh
tools/testing/selftests/net/forwarding/router_mpath_nh.sh
tools/testing/selftests/net/forwarding/router_mpath_nh_res.sh
tools/testing/selftests/net/run_afpackettests
tools/testing/selftests/net/srv6_end_dt46_l3vpn_test.sh
tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh
tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh
tools/testing/selftests/net/unicast_extensions.sh
tools/testing/selftests/net/vrf_strict_mode_test.sh

index 162e5f1ac36b9fbaded70c813135ea25b5033950..13350cd5c8ac35ddfbe278145e7bcae264296b88 100755 (executable)
@@ -37,6 +37,9 @@
 #
 # server / client nomenclature relative to ns-A
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 VERBOSE=0
 
 NSA_DEV=eth1
@@ -3974,7 +3977,7 @@ fi
 which nettest >/dev/null
 if [ $? -ne 0 ]; then
        echo "'nettest' command not found; skipping tests"
-       exit 0
+       exit $ksft_skip
 fi
 
 declare -i nfail=0
index a93e6b690e068ac957e11da3581118ff1b519f8b..43ea8407a82e554b14f0ab9ad9030ac8dd4f1106 100755 (executable)
@@ -3,6 +3,9 @@
 
 # This test is for checking IPv4 and IPv6 FIB rules API
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 ret=0
 
 PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no}
@@ -238,12 +241,12 @@ run_fibrule_tests()
 
 if [ "$(id -u)" -ne 0 ];then
        echo "SKIP: Need root privileges"
-       exit 0
+       exit $ksft_skip
 fi
 
 if [ ! -x "$(command -v ip)" ]; then
        echo "SKIP: Could not run test without ip tool"
-       exit 0
+       exit $ksft_skip
 fi
 
 # start clean
index 13d3d4428a320c04ff061382eb00322b40eef7f8..2c14a86adaaae4b8eb84816e55391fd809bf40dc 100644 (file)
@@ -1,6 +1,9 @@
 #!/bin/bash
 # SPDX-License-Identifier: GPL-2.0
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 ##############################################################################
 # Defines
 
@@ -9,11 +12,11 @@ if [[ ! -v DEVLINK_DEV ]]; then
                             | jq -r '.port | keys[]' | cut -d/ -f-2)
        if [ -z "$DEVLINK_DEV" ]; then
                echo "SKIP: ${NETIFS[p1]} has no devlink device registered for it"
-               exit 1
+               exit $ksft_skip
        fi
        if [[ "$(echo $DEVLINK_DEV | grep -c pci)" -eq 0 ]]; then
                echo "SKIP: devlink device's bus is not PCI"
-               exit 1
+               exit $ksft_skip
        fi
 
        DEVLINK_VIDDID=$(lspci -s $(echo $DEVLINK_DEV | cut -d"/" -f2) \
@@ -22,7 +25,7 @@ elif [[ ! -z "$DEVLINK_DEV" ]]; then
        devlink dev show $DEVLINK_DEV &> /dev/null
        if [ $? -ne 0 ]; then
                echo "SKIP: devlink device \"$DEVLINK_DEV\" not found"
-               exit 1
+               exit $ksft_skip
        fi
 fi
 
@@ -32,19 +35,19 @@ fi
 devlink help 2>&1 | grep resource &> /dev/null
 if [ $? -ne 0 ]; then
        echo "SKIP: iproute2 too old, missing devlink resource support"
-       exit 1
+       exit $ksft_skip
 fi
 
 devlink help 2>&1 | grep trap &> /dev/null
 if [ $? -ne 0 ]; then
        echo "SKIP: iproute2 too old, missing devlink trap support"
-       exit 1
+       exit $ksft_skip
 fi
 
 devlink dev help 2>&1 | grep info &> /dev/null
 if [ $? -ne 0 ]; then
        echo "SKIP: iproute2 too old, missing devlink dev info support"
-       exit 1
+       exit $ksft_skip
 fi
 
 ##############################################################################
index 42e28c983d41b74c3692a8a1bc7ec8cdaa41d0a0..e7fc5c35b569029f196b1d3f7eaea58c22365306 100644 (file)
@@ -4,6 +4,9 @@
 ##############################################################################
 # Defines
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 # Can be overridden by the configuration file.
 PING=${PING:=ping}
 PING6=${PING6:=ping6}
@@ -38,7 +41,7 @@ check_tc_version()
        tc -j &> /dev/null
        if [[ $? -ne 0 ]]; then
                echo "SKIP: iproute2 too old; tc is missing JSON support"
-               exit 1
+               exit $ksft_skip
        fi
 }
 
@@ -51,7 +54,7 @@ check_tc_mpls_support()
                matchall action pipe &> /dev/null
        if [[ $? -ne 0 ]]; then
                echo "SKIP: iproute2 too old; tc is missing MPLS support"
-               return 1
+               return $ksft_skip
        fi
        tc filter del dev $dev ingress protocol mpls_uc pref 1 handle 1 \
                matchall
@@ -69,7 +72,7 @@ check_tc_mpls_lse_stats()
 
        if [[ $? -ne 0 ]]; then
                echo "SKIP: iproute2 too old; tc-flower is missing extended MPLS support"
-               return 1
+               return $ksft_skip
        fi
 
        tc -j filter show dev $dev ingress protocol mpls_uc | jq . &> /dev/null
@@ -79,7 +82,7 @@ check_tc_mpls_lse_stats()
 
        if [[ $ret -ne 0 ]]; then
                echo "SKIP: iproute2 too old; tc-flower produces invalid json output for extended MPLS filters"
-               return 1
+               return $ksft_skip
        fi
 }
 
@@ -88,7 +91,7 @@ check_tc_shblock_support()
        tc filter help 2>&1 | grep block &> /dev/null
        if [[ $? -ne 0 ]]; then
                echo "SKIP: iproute2 too old; tc is missing shared block support"
-               exit 1
+               exit $ksft_skip
        fi
 }
 
@@ -97,7 +100,7 @@ check_tc_chain_support()
        tc help 2>&1|grep chain &> /dev/null
        if [[ $? -ne 0 ]]; then
                echo "SKIP: iproute2 too old; tc is missing chain support"
-               exit 1
+               exit $ksft_skip
        fi
 }
 
@@ -106,7 +109,7 @@ check_tc_action_hw_stats_support()
        tc actions help 2>&1 | grep -q hw_stats
        if [[ $? -ne 0 ]]; then
                echo "SKIP: iproute2 too old; tc is missing action hw_stats support"
-               exit 1
+               exit $ksft_skip
        fi
 }
 
@@ -115,13 +118,13 @@ check_ethtool_lanes_support()
        ethtool --help 2>&1| grep lanes &> /dev/null
        if [[ $? -ne 0 ]]; then
                echo "SKIP: ethtool too old; it is missing lanes support"
-               exit 1
+               exit $ksft_skip
        fi
 }
 
 if [[ "$(id -u)" -ne 0 ]]; then
        echo "SKIP: need root privileges"
-       exit 0
+       exit $ksft_skip
 fi
 
 if [[ "$CHECK_TC" = "yes" ]]; then
@@ -134,7 +137,7 @@ require_command()
 
        if [[ ! -x "$(command -v "$cmd")" ]]; then
                echo "SKIP: $cmd not installed"
-               exit 1
+               exit $ksft_skip
        fi
 }
 
@@ -143,7 +146,7 @@ require_command $MZ
 
 if [[ ! -v NUM_NETIFS ]]; then
        echo "SKIP: importer does not define \"NUM_NETIFS\""
-       exit 1
+       exit $ksft_skip
 fi
 
 ##############################################################################
@@ -203,7 +206,7 @@ for ((i = 1; i <= NUM_NETIFS; ++i)); do
        ip link show dev ${NETIFS[p$i]} &> /dev/null
        if [[ $? -ne 0 ]]; then
                echo "SKIP: could not find all required interfaces"
-               exit 1
+               exit $ksft_skip
        fi
 done
 
index 76efb1f8375e3c2ac9f7f5cc810a91d1f98d698a..a0d612e049901a20dabc81ba5819178d4fc51e33 100755 (executable)
@@ -411,7 +411,7 @@ ping_ipv6()
 ip nexthop ls >/dev/null 2>&1
 if [ $? -ne 0 ]; then
        echo "Nexthop objects not supported; skipping tests"
-       exit 0
+       exit $ksft_skip
 fi
 
 trap cleanup EXIT
index 4898dd4118f1d340e00cd57a8119062e5f8825d9..cb08ffe2356a3f0cf70f85424d5f7449ee55ffe8 100755 (executable)
@@ -386,7 +386,7 @@ ping_ipv6()
 ip nexthop ls >/dev/null 2>&1
 if [ $? -ne 0 ]; then
        echo "Nexthop objects not supported; skipping tests"
-       exit 0
+       exit $ksft_skip
 fi
 
 trap cleanup EXIT
index 8b42e8b04e0f719ac9823685dabf137f55d005a3..a59cb6a3c4f53f0150c4a02f6059f3483ce1f3a7 100755 (executable)
@@ -1,9 +1,12 @@
 #!/bin/sh
 # SPDX-License-Identifier: GPL-2.0
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 if [ $(id -u) != 0 ]; then
        echo $msg must be run as root >&2
-       exit 0
+       exit $ksft_skip
 fi
 
 ret=0
index 75ada17ac061c3fc52b5ed7200fbf0603f0b4c67..aebaab8ce44cbc5be530ee6d14697d49bd70c1c4 100755 (executable)
 # +---------------------------------------------------+
 #
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 readonly LOCALSID_TABLE_ID=90
 readonly IPv6_RT_NETWORK=fd00
 readonly IPv6_HS_NETWORK=cafe
@@ -543,18 +546,18 @@ host_vpn_isolation_tests()
 
 if [ "$(id -u)" -ne 0 ];then
        echo "SKIP: Need root privileges"
-       exit 0
+       exit $ksft_skip
 fi
 
 if [ ! -x "$(command -v ip)" ]; then
        echo "SKIP: Could not run test without ip tool"
-       exit 0
+       exit $ksft_skip
 fi
 
 modprobe vrf &>/dev/null
 if [ ! -e /proc/sys/net/vrf/strict_mode ]; then
         echo "SKIP: vrf sysctl does not exist"
-        exit 0
+        exit $ksft_skip
 fi
 
 cleanup &>/dev/null
index ad7a9fc59934f1299548c5e8e052046b43723f44..1003119773e5da58dbab0ea21115440a4473b723 100755 (executable)
 # +---------------------------------------------------+
 #
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 readonly LOCALSID_TABLE_ID=90
 readonly IPv6_RT_NETWORK=fd00
 readonly IPv4_HS_NETWORK=10.0.0
@@ -464,18 +467,18 @@ host_vpn_isolation_tests()
 
 if [ "$(id -u)" -ne 0 ];then
        echo "SKIP: Need root privileges"
-       exit 0
+       exit $ksft_skip
 fi
 
 if [ ! -x "$(command -v ip)" ]; then
        echo "SKIP: Could not run test without ip tool"
-       exit 0
+       exit $ksft_skip
 fi
 
 modprobe vrf &>/dev/null
 if [ ! -e /proc/sys/net/vrf/strict_mode ]; then
         echo "SKIP: vrf sysctl does not exist"
-        exit 0
+        exit $ksft_skip
 fi
 
 cleanup &>/dev/null
index 68708f5e26a05673293b11182ec37ab737882387..b9b06ef80d8817b3ae4a53ff5240bcda8e91a1e5 100755 (executable)
 # +---------------------------------------------------+
 #
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 readonly LOCALSID_TABLE_ID=90
 readonly IPv6_RT_NETWORK=fd00
 readonly IPv6_HS_NETWORK=cafe
@@ -472,18 +475,18 @@ host_vpn_isolation_tests()
 
 if [ "$(id -u)" -ne 0 ];then
        echo "SKIP: Need root privileges"
-       exit 0
+       exit $ksft_skip
 fi
 
 if [ ! -x "$(command -v ip)" ]; then
        echo "SKIP: Could not run test without ip tool"
-       exit 0
+       exit $ksft_skip
 fi
 
 modprobe vrf &>/dev/null
 if [ ! -e /proc/sys/net/vrf/strict_mode ]; then
         echo "SKIP: vrf sysctl does not exist"
-        exit 0
+        exit $ksft_skip
 fi
 
 cleanup &>/dev/null
index 66354cdd5ce4eada6827b5a15adc7c313bf22c33..2d10ccac898a7417a3ff66f99410849e7e4c93ab 100755 (executable)
 # These tests provide an easy way to flip the expected result of any
 # of these behaviors for testing kernel patches that change them.
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 # nettest can be run from PATH or from same directory as this selftest
 if ! which nettest >/dev/null; then
        PATH=$PWD:$PATH
        if ! which nettest >/dev/null; then
                echo "'nettest' command not found; skipping tests"
-               exit 0
+               exit $ksft_skip
        fi
 fi
 
index 18b982d611def3dc0fcbd09f5b4611172ea761ff..865d53c1781cc3273edbcf14823b13ab05447dee 100755 (executable)
@@ -3,6 +3,9 @@
 
 # This test is designed for testing the new VRF strict_mode functionality.
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 ret=0
 
 # identifies the "init" network namespace which is often called root network
@@ -371,18 +374,18 @@ vrf_strict_mode_check_support()
 
 if [ "$(id -u)" -ne 0 ];then
        echo "SKIP: Need root privileges"
-       exit 0
+       exit $ksft_skip
 fi
 
 if [ ! -x "$(command -v ip)" ]; then
        echo "SKIP: Could not run test without ip tool"
-       exit 0
+       exit $ksft_skip
 fi
 
 modprobe vrf &>/dev/null
 if [ ! -e /proc/sys/net/vrf/strict_mode ]; then
        echo "SKIP: vrf sysctl does not exist"
-       exit 0
+       exit $ksft_skip
 fi
 
 cleanup &> /dev/null