mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-17 02:15:57 +00:00
selftests: mptcp: add mptcp_lib_check_tools helper
This patch exports check_tools() helper from mptcp_join.sh into mptcp_lib.sh as a public one mptcp_lib_check_tools(). The arguments "ip", "ss", "iptables" and "ip6tables" are passed into this helper to indicate whether to check ip tool, ss tool, iptables and ip6tables tools. This helper can be used in every scripts. Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://lore.kernel.org/r/20240306-upstream-net-next-20240304-selftests-mptcp-shared-code-shellcheck-v2-2-bc79e6e5e6a0@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
7c2eac6490
commit
3fb8c33ef4
@ -34,17 +34,7 @@ cleanup()
|
||||
}
|
||||
|
||||
mptcp_lib_check_mptcp
|
||||
|
||||
ip -Version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
echo "SKIP: Could not run test without ip tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
ss -h | grep -q MPTCP
|
||||
if [ $? -ne 0 ];then
|
||||
echo "SKIP: ss tool does not support MPTCP"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
mptcp_lib_check_tools ip ss
|
||||
|
||||
get_msk_inuse()
|
||||
{
|
||||
|
@ -147,12 +147,7 @@ cleanup()
|
||||
|
||||
mptcp_lib_check_mptcp
|
||||
mptcp_lib_check_kallsyms
|
||||
|
||||
ip -Version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
echo "SKIP: Could not run test without ip tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
mptcp_lib_check_tools ip
|
||||
|
||||
sin=$(mktemp)
|
||||
sout=$(mktemp)
|
||||
|
@ -152,34 +152,12 @@ cleanup_partial()
|
||||
done
|
||||
}
|
||||
|
||||
check_tools()
|
||||
{
|
||||
mptcp_lib_check_mptcp
|
||||
mptcp_lib_check_kallsyms
|
||||
|
||||
if ! ip -Version &> /dev/null; then
|
||||
echo "SKIP: Could not run test without ip tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
|
||||
if ! ss -h | grep -q MPTCP; then
|
||||
echo "SKIP: ss tool does not support MPTCP"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
|
||||
if ! "${iptables}" -V &> /dev/null; then
|
||||
echo "SKIP: Could not run all tests without ${iptables} tool"
|
||||
exit $ksft_skip
|
||||
elif ! "${ip6tables}" -V &> /dev/null; then
|
||||
echo "SKIP: Could not run all tests without ${ip6tables} tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
}
|
||||
|
||||
init() {
|
||||
init=1
|
||||
|
||||
check_tools
|
||||
mptcp_lib_check_mptcp
|
||||
mptcp_lib_check_kallsyms
|
||||
mptcp_lib_check_tools ip ss "${iptables}" "${ip6tables}"
|
||||
|
||||
sin=$(mktemp)
|
||||
sout=$(mktemp)
|
||||
|
@ -342,3 +342,34 @@ mptcp_lib_check_output() {
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
mptcp_lib_check_tools() {
|
||||
local tool
|
||||
|
||||
for tool in "${@}"; do
|
||||
case "${tool}" in
|
||||
"ip")
|
||||
if ! ip -Version &> /dev/null; then
|
||||
mptcp_lib_print_warn "SKIP: Could not run test without ip tool"
|
||||
exit ${KSFT_SKIP}
|
||||
fi
|
||||
;;
|
||||
"ss")
|
||||
if ! ss -h | grep -q MPTCP; then
|
||||
mptcp_lib_print_warn "SKIP: ss tool does not support MPTCP"
|
||||
exit ${KSFT_SKIP}
|
||||
fi
|
||||
;;
|
||||
"iptables"* | "ip6tables"*)
|
||||
if ! "${tool}" -V &> /dev/null; then
|
||||
mptcp_lib_print_warn "SKIP: Could not run all tests without ${tool}"
|
||||
exit ${KSFT_SKIP}
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
mptcp_lib_print_err "Internal error: unsupported tool: ${tool}"
|
||||
exit ${KSFT_FAIL}
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
@ -89,20 +89,7 @@ cleanup()
|
||||
|
||||
mptcp_lib_check_mptcp
|
||||
mptcp_lib_check_kallsyms
|
||||
|
||||
ip -Version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
echo "SKIP: Could not run test without ip tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
|
||||
if ! "${iptables}" -V &> /dev/null; then
|
||||
echo "SKIP: Could not run all tests without ${iptables} tool"
|
||||
exit $ksft_skip
|
||||
elif ! "${ip6tables}" -V &> /dev/null; then
|
||||
echo "SKIP: Could not run all tests without ${ip6tables} tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
mptcp_lib_check_tools ip "${iptables}" "${ip6tables}"
|
||||
|
||||
check_mark()
|
||||
{
|
||||
|
@ -36,12 +36,7 @@ cleanup()
|
||||
}
|
||||
|
||||
mptcp_lib_check_mptcp
|
||||
|
||||
ip -Version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
echo "SKIP: Could not run test without ip tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
mptcp_lib_check_tools ip
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
|
@ -43,12 +43,7 @@ cleanup()
|
||||
}
|
||||
|
||||
mptcp_lib_check_mptcp
|
||||
|
||||
ip -Version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
echo "SKIP: Could not run test without ip tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
mptcp_lib_check_tools ip
|
||||
|
||||
# "$ns1" ns2 ns3
|
||||
# ns1eth1 ns2eth1 ns2eth3 ns3eth1
|
||||
|
@ -17,11 +17,7 @@ if ! mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
|
||||
echo "userspace pm tests are not supported by the kernel: SKIP"
|
||||
exit ${KSFT_SKIP}
|
||||
fi
|
||||
|
||||
if ! ip -Version &> /dev/null; then
|
||||
echo "SKIP: Cannot not run test without ip tool"
|
||||
exit ${KSFT_SKIP}
|
||||
fi
|
||||
mptcp_lib_check_tools ip
|
||||
|
||||
ANNOUNCED=6 # MPTCP_EVENT_ANNOUNCED
|
||||
REMOVED=7 # MPTCP_EVENT_REMOVED
|
||||
|
Loading…
x
Reference in New Issue
Block a user