selftests: mptcp: add mptcp_lib_verify_listener_events
authorGeliang Tang <tanggeliang@kylinos.cn>
Fri, 8 Mar 2024 22:10:20 +0000 (23:10 +0100)
committerJakub Kicinski <kuba@kernel.org>
Mon, 11 Mar 2024 22:07:27 +0000 (15:07 -0700)
To avoid duplicated code in different MPTCP selftests, we can add and use
helpers defined in mptcp_lib.sh.

The helper verify_listener_events() 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 <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/20240308-upstream-net-next-20240308-selftests-mptcp-unification-v1-13-4f42c347b653@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/mptcp/mptcp_join.sh
tools/testing/selftests/net/mptcp/mptcp_lib.sh
tools/testing/selftests/net/mptcp/userspace_pm.sh

index 041175ec130446b90ecca45edabbd0aef7a50077..9b538a7071e701e3369be6bfca1274313464f749 100755 (executable)
@@ -2794,15 +2794,9 @@ AF_INET6=10
 
 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 = $LISTENER_CREATED ]; then
@@ -2820,23 +2814,10 @@ verify_listener_events()
                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
+       if mptcp_lib_verify_listener_events "${@}"; then
                print_ok
                return 0
        fi
-       print_fail "$e_type:$type $e_family:$family $e_saddr:$saddr $e_sport:$sport"
        fail_test
 }
 
index 44491f18ed177041a99b56c29e75629474197671..a977a722fb3d01edd7b8b634ea7d0211217313c8 100644 (file)
@@ -468,3 +468,29 @@ mptcp_lib_check_expected() {
 
        return "${rc}"
 }
+
+# shellcheck disable=SC2034 # Some variables are used below but indirectly
+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 rc=0
+
+       type=$(mptcp_lib_evts_get_info type "${evt}" "${e_type}")
+       family=$(mptcp_lib_evts_get_info family "${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
+       sport=$(mptcp_lib_evts_get_info sport "${evt}" "${e_type}")
+
+       mptcp_lib_check_expected "type" "family" "saddr" "sport" || rc="${?}"
+       return "${rc}"
+}
index e9aea44edee5df6415e4cc673a8289b726ba6007..1e0b39e5525cc06648bef8b32d763bfd2157ca97 100755 (executable)
@@ -835,26 +835,11 @@ 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
-
-       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)
+       if mptcp_lib_verify_listener_events "${@}"; then
+               test_pass
        else
-               saddr=$(mptcp_lib_evts_get_info saddr4 $evt $e_type)
+               test_fail
        fi
-
-       check_expected "type" "family" "saddr" "sport"
 }
 
 test_listener()