selftests: mptcp: add mptcp_lib_kill_wait
To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. Export kill_wait() helper in userspace_pm.sh into mptcp_lib.sh and rename it as mptcp_lib_kill_wait(). It can be used to instead of kill_wait() in mptcp_join.sh. Use the new helper in both scripts. Reviewed-by: Matthieu Baerts <matttbe@kernel.org> Signed-off-by: Geliang Tang <geliang.tang@suse.com> Signed-off-by: Mat Martineau <martineau@kernel.org> Link: https://lore.kernel.org/r/20231128-send-net-next-2023107-v4-9-8d6b94150f6b@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b9fb176081
commit
bdbef0a6ff
3 changed files with 22 additions and 28 deletions
|
@ -682,16 +682,10 @@ wait_mpj()
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
kill_wait()
|
|
||||||
{
|
|
||||||
kill $1 > /dev/null 2>&1
|
|
||||||
wait $1 2>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
kill_events_pids()
|
kill_events_pids()
|
||||||
{
|
{
|
||||||
kill_wait $evts_ns1_pid
|
mptcp_lib_kill_wait $evts_ns1_pid
|
||||||
kill_wait $evts_ns2_pid
|
mptcp_lib_kill_wait $evts_ns2_pid
|
||||||
}
|
}
|
||||||
|
|
||||||
kill_tests_wait()
|
kill_tests_wait()
|
||||||
|
|
|
@ -217,3 +217,12 @@ mptcp_lib_get_info_value() {
|
||||||
mptcp_lib_evts_get_info() {
|
mptcp_lib_evts_get_info() {
|
||||||
mptcp_lib_get_info_value "${1}" "^type:${3:-1}," < "${2}"
|
mptcp_lib_get_info_value "${1}" "^type:${3:-1}," < "${2}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# $1: PID
|
||||||
|
mptcp_lib_kill_wait() {
|
||||||
|
[ "${1}" -eq 0 ] && return 0
|
||||||
|
|
||||||
|
kill -SIGUSR1 "${1}" > /dev/null 2>&1
|
||||||
|
kill "${1}" > /dev/null 2>&1
|
||||||
|
wait "${1}" 2>/dev/null
|
||||||
|
}
|
||||||
|
|
|
@ -108,15 +108,6 @@ test_fail()
|
||||||
mptcp_lib_result_fail "${test_name}"
|
mptcp_lib_result_fail "${test_name}"
|
||||||
}
|
}
|
||||||
|
|
||||||
kill_wait()
|
|
||||||
{
|
|
||||||
[ $1 -eq 0 ] && return 0
|
|
||||||
|
|
||||||
kill -SIGUSR1 $1 > /dev/null 2>&1
|
|
||||||
kill $1 > /dev/null 2>&1
|
|
||||||
wait $1 2>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
# This function is used in the cleanup trap
|
# This function is used in the cleanup trap
|
||||||
#shellcheck disable=SC2317
|
#shellcheck disable=SC2317
|
||||||
cleanup()
|
cleanup()
|
||||||
|
@ -128,7 +119,7 @@ cleanup()
|
||||||
for pid in $client4_pid $server4_pid $client6_pid $server6_pid\
|
for pid in $client4_pid $server4_pid $client6_pid $server6_pid\
|
||||||
$server_evts_pid $client_evts_pid
|
$server_evts_pid $client_evts_pid
|
||||||
do
|
do
|
||||||
kill_wait $pid
|
mptcp_lib_kill_wait $pid
|
||||||
done
|
done
|
||||||
|
|
||||||
local netns
|
local netns
|
||||||
|
@ -210,7 +201,7 @@ make_connection()
|
||||||
fi
|
fi
|
||||||
:>"$client_evts"
|
:>"$client_evts"
|
||||||
if [ $client_evts_pid -ne 0 ]; then
|
if [ $client_evts_pid -ne 0 ]; then
|
||||||
kill_wait $client_evts_pid
|
mptcp_lib_kill_wait $client_evts_pid
|
||||||
fi
|
fi
|
||||||
ip netns exec "$ns2" ./pm_nl_ctl events >> "$client_evts" 2>&1 &
|
ip netns exec "$ns2" ./pm_nl_ctl events >> "$client_evts" 2>&1 &
|
||||||
client_evts_pid=$!
|
client_evts_pid=$!
|
||||||
|
@ -219,7 +210,7 @@ make_connection()
|
||||||
fi
|
fi
|
||||||
:>"$server_evts"
|
:>"$server_evts"
|
||||||
if [ $server_evts_pid -ne 0 ]; then
|
if [ $server_evts_pid -ne 0 ]; then
|
||||||
kill_wait $server_evts_pid
|
mptcp_lib_kill_wait $server_evts_pid
|
||||||
fi
|
fi
|
||||||
ip netns exec "$ns1" ./pm_nl_ctl events >> "$server_evts" 2>&1 &
|
ip netns exec "$ns1" ./pm_nl_ctl events >> "$server_evts" 2>&1 &
|
||||||
server_evts_pid=$!
|
server_evts_pid=$!
|
||||||
|
@ -624,7 +615,7 @@ test_subflows()
|
||||||
"10.0.2.2" "$client4_port" "23" "$client_addr_id" "ns1" "ns2"
|
"10.0.2.2" "$client4_port" "23" "$client_addr_id" "ns1" "ns2"
|
||||||
|
|
||||||
# Delete the listener from the client ns, if one was created
|
# Delete the listener from the client ns, if one was created
|
||||||
kill_wait $listener_pid
|
mptcp_lib_kill_wait $listener_pid
|
||||||
|
|
||||||
local sport
|
local sport
|
||||||
sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
|
sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
|
||||||
|
@ -663,7 +654,7 @@ test_subflows()
|
||||||
"$client_addr_id" "ns1" "ns2"
|
"$client_addr_id" "ns1" "ns2"
|
||||||
|
|
||||||
# Delete the listener from the client ns, if one was created
|
# Delete the listener from the client ns, if one was created
|
||||||
kill_wait $listener_pid
|
mptcp_lib_kill_wait $listener_pid
|
||||||
|
|
||||||
sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
|
sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
|
||||||
|
|
||||||
|
@ -702,7 +693,7 @@ test_subflows()
|
||||||
"$client_addr_id" "ns1" "ns2"
|
"$client_addr_id" "ns1" "ns2"
|
||||||
|
|
||||||
# Delete the listener from the client ns, if one was created
|
# Delete the listener from the client ns, if one was created
|
||||||
kill_wait $listener_pid
|
mptcp_lib_kill_wait $listener_pid
|
||||||
|
|
||||||
sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
|
sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
|
||||||
|
|
||||||
|
@ -740,7 +731,7 @@ test_subflows()
|
||||||
"10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1"
|
"10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1"
|
||||||
|
|
||||||
# Delete the listener from the server ns, if one was created
|
# Delete the listener from the server ns, if one was created
|
||||||
kill_wait $listener_pid
|
mptcp_lib_kill_wait $listener_pid
|
||||||
|
|
||||||
sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
|
sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
|
||||||
|
|
||||||
|
@ -779,7 +770,7 @@ test_subflows()
|
||||||
"$server_addr_id" "ns2" "ns1"
|
"$server_addr_id" "ns2" "ns1"
|
||||||
|
|
||||||
# Delete the listener from the server ns, if one was created
|
# Delete the listener from the server ns, if one was created
|
||||||
kill_wait $listener_pid
|
mptcp_lib_kill_wait $listener_pid
|
||||||
|
|
||||||
sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
|
sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
|
||||||
|
|
||||||
|
@ -816,7 +807,7 @@ test_subflows()
|
||||||
"10.0.2.2" "10.0.2.1" "$new4_port" "23" "$server_addr_id" "ns2" "ns1"
|
"10.0.2.2" "10.0.2.1" "$new4_port" "23" "$server_addr_id" "ns2" "ns1"
|
||||||
|
|
||||||
# Delete the listener from the server ns, if one was created
|
# Delete the listener from the server ns, if one was created
|
||||||
kill_wait $listener_pid
|
mptcp_lib_kill_wait $listener_pid
|
||||||
|
|
||||||
sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
|
sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
|
||||||
|
|
||||||
|
@ -862,7 +853,7 @@ test_subflows_v4_v6_mix()
|
||||||
"$server_addr_id" "ns2" "ns1"
|
"$server_addr_id" "ns2" "ns1"
|
||||||
|
|
||||||
# Delete the listener from the server ns, if one was created
|
# Delete the listener from the server ns, if one was created
|
||||||
kill_wait $listener_pid
|
mptcp_lib_kill_wait $listener_pid
|
||||||
|
|
||||||
sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
|
sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
|
||||||
|
|
||||||
|
@ -974,7 +965,7 @@ test_listener()
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
|
|
||||||
# Delete the listener from the client ns, if one was created
|
# Delete the listener from the client ns, if one was created
|
||||||
kill_wait $listener_pid
|
mptcp_lib_kill_wait $listener_pid
|
||||||
|
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
verify_listener_events $client_evts $LISTENER_CLOSED $AF_INET 10.0.2.2 $client4_port
|
verify_listener_events $client_evts $LISTENER_CLOSED $AF_INET 10.0.2.2 $client4_port
|
||||||
|
|
Loading…
Add table
Reference in a new issue