From nobody Tue Feb 10 00:40:50 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0045EDC for ; Sun, 3 Mar 2024 09:53:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709459603; cv=none; b=soXuyN3cVWdjeS5S24JgGY92WxRv3X1Lm+rRsXN39Zk/gJvXpZT4R6zRw60LO5uzlHUBpJUXiqZqZSzXWQQqEoEw9GKbhZK3SR3G9WcFmwfoZ2H+Bi+W4M5TUE376qXgx469c7XocsuSZ2MPd7rTk0YrmYkqaBL436nDSpnYZfs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709459603; c=relaxed/simple; bh=Sqx2N876elivNu+UgtjtY7LfH6uKspKiVRvFhRi9kSs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=P9aVjxJrbgIJKsJI5L2wwyRnzzRkcZmAHnzH/+qyvppunvYYv10mbyoS6H6J38xPUScNFd7OhwuqV8kONjK5UJpxOSBAaqYw4DtFGwtQj04sRkOFocGJ6qP18c84zc1+H1e6wB1KC7CvLvPIDAF43m4oQG4NdfFw161BZAyd3yI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=d/UkSM5O; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="d/UkSM5O" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58780C43390; Sun, 3 Mar 2024 09:53:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709459603; bh=Sqx2N876elivNu+UgtjtY7LfH6uKspKiVRvFhRi9kSs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d/UkSM5OtlM1B0bmzh57x9toyd6BVQ4EoN80jOWk51a52+bMrLD9p7VXuvIg2OowU m6bsdj8pJewrtCAa/lQ94q+M/6dL+Kl2SQDh10qfIZh61r/2SGgHRkvq4bSA+KA802 TRaxCmbz+WUBvlGVD2W51upN+WfX1EsFthopOtEYdHVI4aZ5yYcjrX4IjBfgeZolBS OQ4oo9LPymT8lpuJcrFJjs3gc9wVMW6u4d2Z30n5ERsf6vpAEp32vs3/AQU4j7/2EK jTL1bsKnwmuPKXc1hvqaeZi2WkPI5EwoOgz8Ri9OoCX07qQ2IRAE7QrdVNPBwgyzpA JCMi5K46+5LMg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 7/8] selftests: mptcp: print test results with counters Date: Sun, 3 Mar 2024 17:52:27 +0800 Message-Id: <1364474bed9e10b338e6135f812cd5e5c64143ab.1709459360.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang This patch adds a new helper mptcp_lib_print_title(), a wrapper of mptcp_lib_inc_test_counter() and mptcp_lib_pr_title_counter(), to print out test counter in each test result and increase the counter. Use this helper to print out test counters for every tests in diag.sh, mptcp_connect.sh, mptcp_sockopt.sh, pm_netlink.sh, simult_flows.sh, and userspace_pm.sh. diag.sh: 01 no msk on netns creation [ ok ] 02 listen match for dport 10000 [ ok ] 03 listen match for sport 10000 [ ok ] 04 listen match for saddr and sport [ ok ] 05 all listen sockets [ ok ] mptcp_connect.sh: 01 New MPTCP socket can be blocked via sysctl [ OK ] 02 Validating network environment with pings [ OK ] INFO: Using loss of 0.85% delay 31 ms reorder .. with delay 7ms on ns3eth4 03 ns1 MPTCP -> ns1 (10.0.1.1:10000 ) MPTCP (duration 69ms) [ OK ] 04 ns1 MPTCP -> ns1 (10.0.1.1:10001 ) TCP (duration 20ms) [ OK ] 05 ns1 TCP -> ns1 (10.0.1.1:10002 ) MPTCP (duration 16ms) [ OK ] mptcp_sockopt.sh: 01 Transfer v4 [ OK ] 02 Mark v4 [ OK ] 03 Transfer v6 [ OK ] 04 Mark v6 [ OK ] 05 SOL_MPTCP sockopt v4 [ OK ] pm_netlink.sh: 01 defaults addr list [ OK ] 02 simple add/get addr [ OK ] 03 dump addrs [ OK ] 04 simple del addr [ OK ] 05 dump addrs after del [ OK ] simult_flows.sh: 01 balanced bwidth 7391 max 8456 [ OK ] 02 balanced bwidth - reverse direction 7403 max 8456 [ OK ] 03 balanced bwidth with unbalanced delay 7429 max 8456 [ OK ] 04 balanced bwidth with unbalanced delay - reverse ... 7485 max 8456 [ OK ] 05 unbalanced bwidth 7549 max 8456 [ OK ] userspace_pm.sh: 01 Created network namespaces ns1, ns2 [ OK ] INFO: Make connections 02 Established IPv4 MPTCP Connection ns2 =3D> ns1 [ OK= ] 03 Established IPv6 MPTCP Connection ns2 =3D> ns1 [ OK= ] INFO: Announce tests 04 ADD_ADDR 10.0.2.2 (ns2) =3D> ns1, invalid token [ OK= ] 05 ADD_ADDR id:67 10.0.2.2 (ns2) =3D> ns1, reuse port [ OK= ] Having test counters helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 6 ++---- .../testing/selftests/net/mptcp/mptcp_connect.sh | 6 +++--- .../testing/selftests/net/mptcp/mptcp_sockopt.sh | 15 +++++---------- tools/testing/selftests/net/mptcp/pm_netlink.sh | 5 +++-- tools/testing/selftests/net/mptcp/simult_flows.sh | 7 ++++--- tools/testing/selftests/net/mptcp/userspace_pm.sh | 4 +++- 6 files changed, 20 insertions(+), 23 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index b63510ce2327..4ffdd415e670 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -54,7 +54,7 @@ __chk_nr() =20 nr=3D$(eval $command) =20 - printf "%-50s" "$msg" + mptcp_lib_print_title "$msg" if [ "$nr" !=3D "$expected" ]; then if [ "$nr" =3D "$skip" ] && ! mptcp_lib_expect_all_features; then echo "[ skip ] Feature probably not supported" @@ -68,7 +68,6 @@ __chk_nr() echo "[ ok ]" mptcp_lib_result_pass "${msg}" fi - MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) } =20 __chk_msk_nr() @@ -113,7 +112,7 @@ wait_msk_nr() sleep 1 done =20 - printf "%-50s" "$msg" + mptcp_lib_print_title "$msg" if [ $i -ge $timeout ]; then echo "[ fail ] timeout while expecting $expected max $max last $nr" mptcp_lib_result_fail "${msg} # timeout" @@ -126,7 +125,6 @@ wait_msk_nr() echo "[ ok ]" mptcp_lib_result_pass "${msg}" fi - MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) } =20 chk_msk_fallback_nr() diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 07332f13afd7..a94655493cdc 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -249,7 +249,8 @@ fi =20 print_larger_title() { # here we don't have the time, a bit longer for the alignment - printf "%-69s" "${@}" + MPTCP_LIB_TEST_FORMAT=3D"%02u %-69s" \ + mptcp_lib_print_title "${@}" } =20 check_mptcp_disabled() @@ -321,7 +322,6 @@ do_transfer() =20 local port port=3D$((10000+PORT++)) - MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) =20 if [ "$rcvbuf" -gt 0 ]; then extra_args=3D"$extra_args -R $rcvbuf" @@ -348,7 +348,7 @@ do_transfer() addr_port=3D$(printf "%s:%d" ${connect_addr} ${port}) local result_msg result_msg=3D"$(printf "%.3s %-5s -> %.3s (%-20s) %-5s" ${connector_ns} $= {cl_proto} ${listener_ns} ${addr_port} ${srv_proto})" - printf "%-50s" "${result_msg}" + mptcp_lib_print_title "${result_msg}" =20 if $capture; then local capuser diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index f7f643779992..4aa60e8b2db1 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -113,11 +113,6 @@ check_mark() return 0 } =20 -print_title() -{ - printf "%-50s" "${@}" -} - do_transfer() { local listener_ns=3D"$1" @@ -167,7 +162,7 @@ do_transfer() wait $spid local rets=3D$? =20 - print_title "Transfer ${ip:2}" + mptcp_lib_print_title "Transfer ${ip:2}" if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then echo " client exit code $retc, server $rets" 1>&2 echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2 @@ -183,7 +178,7 @@ do_transfer() fi echo "[ OK ]" =20 - print_title "Mark ${ip:2}" + mptcp_lib_print_title "Mark ${ip:2}" if [ $local_addr =3D "::" ];then check_mark $listener_ns 6 || retc=3D1 check_mark $connector_ns 6 || retc=3D1 @@ -231,7 +226,7 @@ do_mptcp_sockopt_tests() ip netns exec "$ns_sbox" ./mptcp_sockopt lret=3D$? =20 - print_title "SOL_MPTCP sockopt v4" + mptcp_lib_print_title "SOL_MPTCP sockopt v4" if [ $lret -ne 0 ]; then echo "[FAIL]" mptcp_lib_result_fail "sockopt v4" @@ -244,7 +239,7 @@ do_mptcp_sockopt_tests() ip netns exec "$ns_sbox" ./mptcp_sockopt -6 lret=3D$? =20 - print_title "SOL_MPTCP sockopt v6" + mptcp_lib_print_title "SOL_MPTCP sockopt v6" if [ $lret -ne 0 ]; then echo "[FAIL]" mptcp_lib_result_fail "sockopt v6" @@ -274,7 +269,7 @@ run_tests() =20 do_tcpinq_test() { - print_title "TCP_INQ cmsg/ioctl $*" + mptcp_lib_print_title "TCP_INQ cmsg/ioctl $*" ip netns exec "$ns_sbox" ./mptcp_inq "$@" local lret=3D$? if [ $lret -ne 0 ];then diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 427fc5c70b3c..5b9bc25dfef4 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -53,7 +53,7 @@ check() local msg=3D"$3" local rc=3D0 =20 - printf "%-50s" "$msg" + mptcp_lib_print_title "$msg" mptcp_lib_check_output "${err}" "${cmd}" "${expected}" || rc=3D${?} if [ ${rc} -eq 2 ]; then mptcp_lib_result_fail "${msg} # error ${rc}" @@ -189,7 +189,8 @@ subflow,backup,fullmesh 10.0.1.1" " (backup,fu= llmesh)" else for st in fullmesh nofullmesh backup,fullmesh; do st=3D" (${st})" - printf "%-50s%s\n" "${st}" "[SKIP]" + mptcp_lib_print_title "${st}" + echo "[SKIP]" mptcp_lib_result_skip "${st}" done fi diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 20bf1ea43362..03fd08e8e044 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -14,6 +14,8 @@ ns3=3D"" capture=3Dfalse timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) +# a bit more space: because we have more to display +MPTCP_LIB_TEST_FORMAT=3D"%02u %-60s" ret=3D0 bail=3D0 slack=3D50 @@ -126,7 +128,6 @@ do_transfer() local max_time=3D$3 local port port=3D$((10000+MPTCP_LIB_TEST_COUNTER)) - MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) =20 :> "$cout" :> "$sout" @@ -238,7 +239,7 @@ run_test() # completion (see mptcp_connect): 200ms on each side, add some slack time=3D$((time + 400 + slack)) =20 - printf "%-60s" "$msg" + mptcp_lib_print_title "$msg" do_transfer $small $large $time lret=3D$? mptcp_lib_result_code "${lret}" "${msg}" @@ -248,7 +249,7 @@ run_test() fi =20 msg+=3D" - reverse direction" - printf "%-60s" "${msg}" + mptcp_lib_print_title "${msg}" do_transfer $large $small $time lret=3D$? mptcp_lib_result_code "${lret}" "${msg}" diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index b0cce8f065d8..ca238592baee 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -54,6 +54,8 @@ ns1=3D"" ns2=3D"" ret=3D0 test_name=3D"" +# a bit more space: because we have more to display +MPTCP_LIB_TEST_FORMAT=3D"%02u %-68s" =20 _printf() { stdbuf -o0 -e0 printf "${@}" @@ -69,7 +71,7 @@ print_test() { test_name=3D"${1}" =20 - _printf "%-68s" "${test_name}" + mptcp_lib_print_title "${test_name}" } =20 print_results() --=20 2.40.1