Skip to content

Commit

Permalink
selftests: mptcp: add mptcp_lib_check_tools helper
Browse files Browse the repository at this point in the history
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", and "iptables" are passed into this helper to indicate
whether to check ip tool, ss tool and iptables tools.

This helper can be used in every scripts.

Signed-off-by: Geliang Tang <[email protected]>
  • Loading branch information
Geliang Tang authored and intel-lab-lkp committed Feb 19, 2024
1 parent f8e013b commit 40655d7
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 73 deletions.
12 changes: 1 addition & 11 deletions tools/testing/selftests/net/mptcp/diag.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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()
{
Expand Down
7 changes: 1 addition & 6 deletions tools/testing/selftests/net/mptcp/mptcp_connect.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
28 changes: 3 additions & 25 deletions tools/testing/selftests/net/mptcp/mptcp_join.sh
Original file line number Diff line number Diff line change
Expand Up @@ -151,34 +151,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

sin=$(mktemp)
sout=$(mktemp)
Expand Down
31 changes: 31 additions & 0 deletions tools/testing/selftests/net/mptcp/mptcp_lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -319,3 +319,34 @@ mptcp_lib_wait_local_port_listen() {
sleep 0.1
done
}

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} tool"
exit ${KSFT_SKIP}
fi
;;
*)
mptcp_lib_print_warn "Unsupported tool: ${tool}"
exit ${KSFT_SKIP}
;;
esac
done
}
15 changes: 1 addition & 14 deletions tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

check_mark()
{
Expand Down
7 changes: 1 addition & 6 deletions tools/testing/selftests/net/mptcp/pm_netlink.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
7 changes: 1 addition & 6 deletions tools/testing/selftests/net/mptcp/simult_flows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 1 addition & 5 deletions tools/testing/selftests/net/mptcp/userspace_pm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 40655d7

Please sign in to comment.