Skip to content

Commit

Permalink
selftests: net: lib: Move checks from forwarding/lib.sh here
Browse files Browse the repository at this point in the history
For logging to be useful, something has to set RET and retmsg by calling
ret_set_ksft_status(). There is a suite of functions to that end in
forwarding/lib: check_err, check_fail et.al. Move them to net/lib.sh so
that every net test can use them.

Existing lib.sh users might be using these same names for their functions.
However lib.sh is always sourced near the top of the file (checked), and
whatever new definitions will simply override the ones provided by lib.sh.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Amit Cohen <amcohen@nvidia.com>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://patch.msgid.link/f488a00dc85b8e0c1f3c71476b32b21b5189a847.1731589511.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
pmachata authored and kuba-moo committed Nov 16, 2024
1 parent 601d9d7 commit af76b44
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 73 deletions.
73 changes: 0 additions & 73 deletions tools/testing/selftests/net/forwarding/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -445,79 +445,6 @@ done
##############################################################################
# Helpers

# Whether FAILs should be interpreted as XFAILs. Internal.
FAIL_TO_XFAIL=

check_err()
{
local err=$1
local msg=$2

if ((err)); then
if [[ $FAIL_TO_XFAIL = yes ]]; then
ret_set_ksft_status $ksft_xfail "$msg"
else
ret_set_ksft_status $ksft_fail "$msg"
fi
fi
}

check_fail()
{
local err=$1
local msg=$2

check_err $((!err)) "$msg"
}

check_err_fail()
{
local should_fail=$1; shift
local err=$1; shift
local what=$1; shift

if ((should_fail)); then
check_fail $err "$what succeeded, but should have failed"
else
check_err $err "$what failed"
fi
}

xfail()
{
FAIL_TO_XFAIL=yes "$@"
}

xfail_on_slow()
{
if [[ $KSFT_MACHINE_SLOW = yes ]]; then
FAIL_TO_XFAIL=yes "$@"
else
"$@"
fi
}

omit_on_slow()
{
if [[ $KSFT_MACHINE_SLOW != yes ]]; then
"$@"
fi
}

xfail_on_veth()
{
local dev=$1; shift
local kind

kind=$(ip -j -d link show dev $dev |
jq -r '.[].linkinfo.info_kind')
if [[ $kind = veth ]]; then
FAIL_TO_XFAIL=yes "$@"
else
"$@"
fi
}

not()
{
"$@"
Expand Down
73 changes: 73 additions & 0 deletions tools/testing/selftests/net/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -361,3 +361,76 @@ tests_run()
$current_test
done
}

# Whether FAILs should be interpreted as XFAILs. Internal.
FAIL_TO_XFAIL=

check_err()
{
local err=$1
local msg=$2

if ((err)); then
if [[ $FAIL_TO_XFAIL = yes ]]; then
ret_set_ksft_status $ksft_xfail "$msg"
else
ret_set_ksft_status $ksft_fail "$msg"
fi
fi
}

check_fail()
{
local err=$1
local msg=$2

check_err $((!err)) "$msg"
}

check_err_fail()
{
local should_fail=$1; shift
local err=$1; shift
local what=$1; shift

if ((should_fail)); then
check_fail $err "$what succeeded, but should have failed"
else
check_err $err "$what failed"
fi
}

xfail()
{
FAIL_TO_XFAIL=yes "$@"
}

xfail_on_slow()
{
if [[ $KSFT_MACHINE_SLOW = yes ]]; then
FAIL_TO_XFAIL=yes "$@"
else
"$@"
fi
}

omit_on_slow()
{
if [[ $KSFT_MACHINE_SLOW != yes ]]; then
"$@"
fi
}

xfail_on_veth()
{
local dev=$1; shift
local kind

kind=$(ip -j -d link show dev $dev |
jq -r '.[].linkinfo.info_kind')
if [[ $kind = veth ]]; then
FAIL_TO_XFAIL=yes "$@"
else
"$@"
fi
}

0 comments on commit af76b44

Please sign in to comment.