To avoid duplicated code in different MPTCP selftests, we can add
and use helpers defined in mptcp_lib.sh.
verify_listener_events() helper is defined both in mptcp_join.sh and
userspace_pm.sh, export it into mptcp_lib.sh and rename it with
mptcp_lib_ prefix. Use this new helper in both scripts.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 54 +++++--------------
.../testing/selftests/net/mptcp/mptcp_lib.sh | 32 +++++++++++
.../selftests/net/mptcp/userspace_pm.sh | 30 ++---------
3 files changed, 49 insertions(+), 67 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 8f7112cb120e..ae58a38d941b 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -2779,49 +2779,17 @@ backup_tests()
verify_listener_events()
{
- local evt=$1
- local e_type=$2
- local e_family=$3
- local e_saddr=$4
- local e_sport=$5
- local type
- local family
- local saddr
- local sport
local name
- if [ $e_type = $MPTCP_LIB_LISTENER_CREATED ]; then
+ if [ $2 = $MPTCP_LIB_LISTENER_CREATED ]; then
name="LISTENER_CREATED"
- elif [ $e_type = $MPTCP_LIB_LISTENER_CLOSED ]; then
+ elif [ $2 = $MPTCP_LIB_LISTENER_CLOSED ]; then
name="LISTENER_CLOSED "
- else
- name="$e_type"
fi
+ printf "%-6s%-36s" " " "$name $4:$5"
- print_check "$name $e_saddr:$e_sport"
-
- if ! mptcp_lib_kallsyms_has "mptcp_event_pm_listener$"; then
- print_skip "event not supported"
- return
- fi
-
- type=$(mptcp_lib_evts_get_info type "$evt" "$e_type")
- family=$(mptcp_lib_evts_get_info family "$evt" "$e_type")
- sport=$(mptcp_lib_evts_get_info sport "$evt" "$e_type")
- if [ $family ] && [ $family = $AF_INET6 ]; then
- saddr=$(mptcp_lib_evts_get_info saddr6 "$evt" "$e_type")
- else
- saddr=$(mptcp_lib_evts_get_info saddr4 "$evt" "$e_type")
- fi
-
- if [ $type ] && [ $type = $e_type ] &&
- [ $family ] && [ $family = $e_family ] &&
- [ $saddr ] && [ $saddr = $e_saddr ] &&
- [ $sport ] && [ $sport = $e_sport ]; then
- print_ok
- return 0
- fi
- fail_test "$e_type:$type $e_family:$family $e_saddr:$saddr $e_sport:$sport"
+ mptcp_lib_verify_listener_events ${*}
+ [ $? -eq 1 ] && fail_test "$name $4:$5"
}
add_addr_ports_tests()
@@ -2859,10 +2827,14 @@ add_addr_ports_tests()
chk_add_nr 1 1 1
chk_rm_nr 1 1 invert
- verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CREATED \
- $AF_INET 10.0.2.1 10100
- verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CLOSED \
- $AF_INET 10.0.2.1 10100
+ if mptcp_lib_kallsyms_has "mptcp_event_pm_listener$"; then
+ verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CREATED \
+ $AF_INET 10.0.2.1 10100
+ verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CLOSED \
+ $AF_INET 10.0.2.1 10100
+ else
+ mptcp_lib_print_warn "[skip] event not supported"
+ fi
mptcp_lib_evts_kill
fi
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 68b07216e47a..0aea2c5175d5 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -411,3 +411,35 @@ mptcp_lib_check_expected()
return 1
}
+
+mptcp_lib_verify_listener_events() {
+ local evt=$1
+ local e_type=$2
+ local e_family=$3
+ local e_saddr=$4
+ local e_sport=$5
+ local type
+ local family
+ local saddr
+ local sport
+ local name
+
+ if [ $e_type = $MPTCP_LIB_LISTENER_CREATED ]; then
+ name="LISTENER_CREATED"
+ elif [ $e_type = $MPTCP_LIB_LISTENER_CLOSED ]; then
+ name="LISTENER_CLOSED "
+ else
+ name="$e_type"
+ fi
+
+ type=$(mptcp_lib_evts_get_info type "$evt" "$e_type")
+ family=$(mptcp_lib_evts_get_info family "$evt" "$e_type")
+ sport=$(mptcp_lib_evts_get_info sport "$evt" "$e_type")
+ if [ $family ] && [ $family = $AF_INET6 ]; then
+ saddr=$(mptcp_lib_evts_get_info saddr6 "$evt" "$e_type")
+ else
+ saddr=$(mptcp_lib_evts_get_info saddr4 "$evt" "$e_type")
+ fi
+
+ mptcp_lib_check_expected "type" "family" "saddr" "sport"
+}
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 6a84e563b2ca..f99edce8171f 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -832,32 +832,8 @@ test_prio()
verify_listener_events()
{
- local evt=$1
- local e_type=$2
- local e_family=$3
- local e_saddr=$4
- local e_sport=$5
- local type
- local family
- local saddr
- local sport
-
- if [ $e_type = $MPTCP_LIB_LISTENER_CREATED ]; then
- print_test "CREATE_LISTENER $e_saddr:$e_sport"
- elif [ $e_type = $MPTCP_LIB_LISTENER_CLOSED ]; then
- print_test "CLOSE_LISTENER $e_saddr:$e_sport"
- fi
-
- type=$(mptcp_lib_evts_get_info type $evt $e_type)
- family=$(mptcp_lib_evts_get_info family $evt $e_type)
- sport=$(mptcp_lib_evts_get_info sport $evt $e_type)
- if [ $family ] && [ $family = $AF_INET6 ]; then
- saddr=$(mptcp_lib_evts_get_info saddr6 $evt $e_type)
- else
- saddr=$(mptcp_lib_evts_get_info saddr4 $evt $e_type)
- fi
-
- check_expected "type" "family" "saddr" "sport"
+ mptcp_lib_verify_listener_events ${*}
+ [ $? -eq 0 ] && mptcp_lib_result_pass "${TEST_NAME}"
}
test_listener()
@@ -879,6 +855,7 @@ test_listener()
local listener_pid=$!
sleep 0.5
+ print_test "LISTENER_CREATED 10.0.2.2:$client4_port"
verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CREATED \
$AF_INET 10.0.2.2 $client4_port
@@ -896,6 +873,7 @@ test_listener()
mptcp_lib_kill_wait $listener_pid
sleep 0.5
+ print_test "LISTENER_CLOSED 10.0.2.2:$client4_port"
verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CLOSED \
$AF_INET 10.0.2.2 $client4_port
}
--
2.35.3