Files
linux/tools/testing/selftests/drivers/net/mlxsw/spectrum/resource_scale.sh
Petr Machata 677f394956 selftests: forwarding: Change inappropriate log_test_skip() calls
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 <tobias@waldekranz.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Link: https://lore.kernel.org/r/3d668d8fb6fa0d9eeb47ce6d9e54114348c7c179.1711464583.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-03-28 18:03:42 -07:00

85 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
lib_dir=$(dirname $0)/../../../../net/forwarding
NUM_NETIFS=6
source $lib_dir/lib.sh
source $lib_dir/tc_common.sh
source devlink_lib_spectrum.sh
current_test=""
cleanup()
{
pre_cleanup
if [ ! -z $current_test ]; then
${current_test}_cleanup
fi
devlink_sp_size_kvd_to_default
}
devlink_sp_read_kvd_defaults
trap cleanup EXIT
ALL_TESTS="
router
tc_flower
mirror_gre
tc_police
port
rif_mac_profile
rif_counter
port_range
"
for current_test in ${TESTS:-$ALL_TESTS}; do
RET_FIN=0
source ${current_test}_scale.sh
num_netifs_var=${current_test^^}_NUM_NETIFS
num_netifs=${!num_netifs_var:-$NUM_NETIFS}
for profile in $KVD_PROFILES; do
RET=0
devlink_sp_resource_kvd_profile_set $profile
if [[ $RET -gt 0 ]]; then
log_test "'$current_test' [$profile] setting"
continue
fi
for should_fail in 0 1; do
RET=0
target=$(${current_test}_get_target "$should_fail")
if ((target == 0)); then
continue
fi
${current_test}_setup_prepare
setup_wait $num_netifs
# Update target in case occupancy of a certain resource
# changed following the test setup.
target=$(${current_test}_get_target "$should_fail")
${current_test}_test "$target" "$should_fail"
if [[ "$should_fail" -eq 0 ]]; then
log_test "'$current_test' [$profile] $target"
if ((!RET)); then
tt=${current_test}_traffic_test
if [[ $(type -t $tt) == "function" ]]
then
$tt "$target"
log_test "'$current_test' [$profile] $target traffic test"
fi
fi
else
log_test "'$current_test' [$profile] overflow $target"
fi
${current_test}_cleanup $target
RET_FIN=$(( RET_FIN || RET ))
done
done
done
current_test=""
exit "$RET_FIN"