The SKIP return should be used for cases where tooling of the machine under
test is lacking. For cases where HW is lacking, the appropriate outcome is
XFAIL.

This is the case with ethtool_rmon and mlxsw_lib. For these, introduce a
new helper, log_test_xfail().

Do the same for router_mpath_nh_lib. Note that it will be fixed using a
more reusable way in a following patch.

For the two resource_scale selftests, the log should simply not be written,
because there is no problem.

Cc: Tobias Waldekranz <tob...@waldekranz.com>
Signed-off-by: Petr Machata <pe...@nvidia.com>
---
 tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh   | 4 ++--
 tools/testing/selftests/drivers/net/mlxsw/mlxsw_lib.sh   | 2 +-
 .../drivers/net/mlxsw/spectrum-2/resource_scale.sh       | 1 -
 .../drivers/net/mlxsw/spectrum/resource_scale.sh         | 1 -
 tools/testing/selftests/net/forwarding/lib.sh            | 9 +++++++++
 .../selftests/net/forwarding/router_mpath_nh_lib.sh      | 2 +-
 6 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh 
b/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh
index 709433a4c886..e2a1c10d3503 100755
--- a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh
+++ b/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh
@@ -79,7 +79,7 @@ rmon_histogram()
 
                for if in $iface $neigh; do
                        if ! ensure_mtu $if ${bucket[0]}; then
-                               log_test_skip "$if does not support the 
required MTU for $step"
+                               log_test_xfail "$if does not support the 
required MTU for $step"
                                return
                        fi
                done
@@ -94,7 +94,7 @@ rmon_histogram()
                jq -r ".[0].rmon[\"${set}-pktsNtoM\"][]|[.low, .high]|@tsv" 
2>/dev/null)
 
        if [ $nbuckets -eq 0 ]; then
-               log_test_skip "$iface does not support $set histogram counters"
+               log_test_xfail "$iface does not support $set histogram counters"
                return
        fi
 }
diff --git a/tools/testing/selftests/drivers/net/mlxsw/mlxsw_lib.sh 
b/tools/testing/selftests/drivers/net/mlxsw/mlxsw_lib.sh
index 6369927e9c37..48395cfd4f95 100644
--- a/tools/testing/selftests/drivers/net/mlxsw/mlxsw_lib.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/mlxsw_lib.sh
@@ -42,7 +42,7 @@ __mlxsw_only_on_spectrum()
        local src=$1; shift
 
        if ! mlxsw_on_spectrum "$rev"; then
-               log_test_skip $src:$caller "(Spectrum-$rev only)"
+               log_test_xfail $src:$caller "(Spectrum-$rev only)"
                return 1
        fi
 }
diff --git 
a/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/resource_scale.sh 
b/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/resource_scale.sh
index a88d8a8c85f2..899b6892603f 100755
--- a/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/resource_scale.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/resource_scale.sh
@@ -47,7 +47,6 @@ for current_test in ${TESTS:-$ALL_TESTS}; do
                RET=0
                target=$(${current_test}_get_target "$should_fail")
                if ((target == 0)); then
-                       log_test_skip "'$current_test' should_fail=$should_fail 
test"
                        continue
                fi
 
diff --git 
a/tools/testing/selftests/drivers/net/mlxsw/spectrum/resource_scale.sh 
b/tools/testing/selftests/drivers/net/mlxsw/spectrum/resource_scale.sh
index f981c957f097..482ebb744eba 100755
--- a/tools/testing/selftests/drivers/net/mlxsw/spectrum/resource_scale.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/spectrum/resource_scale.sh
@@ -52,7 +52,6 @@ for current_test in ${TESTS:-$ALL_TESTS}; do
                        RET=0
                        target=$(${current_test}_get_target "$should_fail")
                        if ((target == 0)); then
-                               log_test_skip "'$current_test' [$profile] 
should_fail=$should_fail test"
                                continue
                        fi
                        ${current_test}_setup_prepare
diff --git a/tools/testing/selftests/net/forwarding/lib.sh 
b/tools/testing/selftests/net/forwarding/lib.sh
index ca433ba3612e..5415b8d29862 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -467,6 +467,15 @@ log_test_skip()
        return 0
 }
 
+log_test_xfail()
+{
+       local test_name=$1
+       local opt_str=$2
+
+       printf "TEST: %-60s  [XFAIL]\n" "$test_name $opt_str"
+       return 0
+}
+
 log_info()
 {
        local msg=$1
diff --git a/tools/testing/selftests/net/forwarding/router_mpath_nh_lib.sh 
b/tools/testing/selftests/net/forwarding/router_mpath_nh_lib.sh
index 7e7d62161c34..b2d2c6cecc01 100644
--- a/tools/testing/selftests/net/forwarding/router_mpath_nh_lib.sh
+++ b/tools/testing/selftests/net/forwarding/router_mpath_nh_lib.sh
@@ -69,7 +69,7 @@ nh_stats_test_dispatch_swhw()
                nh_stats_do_test "HW $what" "$nh1_id" "$nh2_id" "$group_id" \
                                 nh_stats_get_hw "${mz[@]}"
        elif [[ $kind == veth ]]; then
-               log_test_skip "HW stats not offloaded on veth topology"
+               log_test_xfail "HW stats not offloaded on veth topology"
        fi
 }
 
-- 
2.43.0


Reply via email to