]> www.infradead.org Git - users/hch/misc.git/commitdiff
selftests: mptcp: move stats info in case of errors to lib.sh
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Tue, 14 Jan 2025 18:03:13 +0000 (19:03 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 15 Jan 2025 21:21:15 +0000 (13:21 -0800)
A few MPTCP selftests are using the same code to print stats in case of
error. This code can then be moved to mptcp_lib.sh.

No behaviour changes intended, except to print the error in red and to
stderr, like most error messages.

Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250114-net-next-mptcp-st-more-debug-err-v1-3-2ffb16a6cf35@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/mptcp/mptcp_connect.sh
tools/testing/selftests/net/mptcp/mptcp_join.sh
tools/testing/selftests/net/mptcp/mptcp_lib.sh
tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
tools/testing/selftests/net/mptcp/simult_flows.sh

index b48b4e56826a9cfdb3501242b707ae2ebe29b220..bfdaecd0a6a0564020530345daf91bed296bc15c 100755 (executable)
@@ -445,12 +445,8 @@ do_transfer()
        printf "(duration %05sms) " "${duration}"
        if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
                mptcp_lib_pr_fail "client exit code $retc, server $rets"
-               echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
-               ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
-               cat /tmp/${listener_ns}.out
-               echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
-               ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
-               [ ${listener_ns} != ${connector_ns} ] && cat /tmp/${connector_ns}.out
+               mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
+                       "/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"
 
                echo
                cat "$capout"
index c07e2bd3a315aac9c422fed85c3196ec46e060f7..13a3b68181ee14eb628a858e5738094c3c936b74 100755 (executable)
@@ -1039,13 +1039,8 @@ do_transfer()
 
        if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
                fail_test "client exit code $retc, server $rets"
-               echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
-               ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
-               cat /tmp/${listener_ns}.out
-               echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
-               ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
-               cat /tmp/${connector_ns}.out
-
+               mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
+                       "/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"
                return 1
        fi
 
index 975d4d4c862afff2e685e86dc08a892dbd09d783..91a1d3b76e664bd95fc36310ac2e2c89bfba1aa1 100644 (file)
@@ -107,6 +107,27 @@ mptcp_lib_pr_info() {
        mptcp_lib_print_info "INFO: ${*}"
 }
 
+# $1-2: listener/connector ns ; $3 port ; $4-5 listener/connector stat file
+mptcp_lib_pr_err_stats() {
+       local lns="${1}"
+       local cns="${2}"
+       local port="${3}"
+       local lstat="${4}"
+       local cstat="${5}"
+
+       echo -en "${MPTCP_LIB_COLOR_RED}"
+       {
+               printf "\nnetns %s (listener) socket stat for %d:\n" "${lns}" "${port}"
+               ip netns exec "${lns}" ss -Menita -o "sport = :${port}"
+               cat "${lstat}"
+
+               printf "\nnetns %s (connector) socket stat for %d:\n" "${cns}" "${port}"
+               ip netns exec "${cns}" ss -Menita -o "dport = :${port}"
+               [ "${lstat}" != "${cstat}" ] && cat "${cstat}"
+       } 1>&2
+       echo -en "${MPTCP_LIB_COLOR_RESET}"
+}
+
 # SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var can be set when validating all
 # features using the last version of the kernel and the selftests to make sure
 # a test is not being skipped by mistake.
index 9a78bfdc3d5e27fdf6859d34f8d313bd08dd4457..418a903c3a4d396bd733bf8b6f68b1447d4d1de3 100755 (executable)
@@ -202,12 +202,8 @@ do_transfer()
        print_title "Transfer ${ip:2}"
        if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
                mptcp_lib_pr_fail "client exit code $retc, server $rets"
-               echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
-               ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
-               cat /tmp/${listener_ns}.out
-               echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
-               ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
-               cat /tmp/${connector_ns}.out
+               mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
+                       "/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"
 
                mptcp_lib_result_fail "transfer ${ip}"
 
index e98e5907d52c2d0e9c0152efda82176861905cf1..9c2a415976cbf7a0b56cd4b2fbdd36c9e1ef3c8c 100755 (executable)
@@ -204,12 +204,8 @@ do_transfer()
        fi
 
        mptcp_lib_pr_fail "client exit code $retc, server $rets"
-       echo -e "\nnetns ${ns3} socket stat for $port:" 1>&2
-       ip netns exec ${ns3} ss -Menita 1>&2 -o "sport = :$port"
-       cat /tmp/${ns3}.out
-       echo -e "\nnetns ${ns1} socket stat for $port:" 1>&2
-       ip netns exec ${ns1} ss -Menita 1>&2 -o "dport = :$port"
-       cat /tmp/${ns1}.out
+       mptcp_lib_pr_err_stats "${ns3}" "${ns1}" "${port}" \
+               "/tmp/${ns3}.out" "/tmp/${ns1}.out"
        ls -l $sin $cout
        ls -l $cin $sout