From nobody Wed May 15 05:52:57 2024 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 5973210A1B for ; Tue, 5 Mar 2024 05:22:15 +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=1709616135; cv=none; b=Ofi+xTduAiZaMApNHocmRRgAxsDXN+IpDXidPL96KDft0Mxn1Qq+RbhgtA2Y/Fo2g1V7GNd7ddYSvJz5/GsEqlj+fS7nVNY9eLjEeIjikbwO8/EG2Z+hXupeDIW5HHZOLCaYo+Lv1Xg0QqLAOhmZWbMmKvqJIjIYaTJABYbgfIA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616135; c=relaxed/simple; bh=9d8uvpRp5lhOrF8UXUVmQlu9GUzoSI6gHUtZ6xn1zvc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hKOeKm7dFs4jWhpxGwWvNdAbttMN08Bbcy52yFG9Yf+lBzWf9Iz7hqBXPkHM3WLkIXlYAoAJ/D3Kgww825o2rA1OI0T09Mn6vs1922Bp6+BcbAiN8MDIAjWKXxWWYv0bKi18kbMAXDJ+FzOZ39oWvuB59sAwslYnZO+rSU+VdeE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QF9NafjG; 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="QF9NafjG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B450C433F1; Tue, 5 Mar 2024 05:22:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616135; bh=9d8uvpRp5lhOrF8UXUVmQlu9GUzoSI6gHUtZ6xn1zvc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QF9NafjGOcnJ7uIVXGj4HtC7SE9fnHt41DfMIsjGusidtfRb+FyvL7h3vb7oHGsUU WuXvyFpy56in0faD2kNm19mu/44R0Oh6SrpSdls1f72tretYtbZWIOzj9t97NfzUfh XpfUtL2+zJH8atQyfJWQYQLgZuqQNbmTGGBRBcHnfoBIHuEM0Dy10WT9CrCb4rIVEz yY5XPCn2AA5DH0RJAWIy7XIbpwaxuXF3eeKeClMaJs+xnfsqi7mp1WG+yvUN0RVVsi w1gnvPnIDWwbAu9ka6k0nvgpSz3gh28Vd5kmK3l+9DlOtGrGUlcqtSVfSIGM5ERthF YBCr/Rv2wDD9g== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 1/9] selftests: mptcp: print all error messages to stdout Date: Tue, 5 Mar 2024 13:21:59 +0800 Message-Id: <7deb7a21ada9e7aa0933cf86b7af8b66dbefd737.1709615883.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 Some error messages are printed to stderr while the others are printed to 'stdout'. As part of the unification, this patch drop "1>&2" to let all errors messages are printed to 'stdout'. Signed-off-by: Geliang Tang --- Notes: Drop one more 1>&2, and update commit log tools/testing/selftests/net/mptcp/mptcp_connect.sh | 10 +++++----- tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 11 ++++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 0ca2960c9099..679e366c8f6b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -294,7 +294,7 @@ do_ping() ip netns exec ${connector_ns} ping ${ping_args} $connect_addr >/dev/null = || rc=3D1 =20 if [ $rc -ne 0 ] ; then - echo "$listener_ns -> $connect_addr connectivity [ FAIL ]" 1>&2 + echo "$listener_ns -> $connect_addr connectivity [ FAIL ]" ret=3D1 =20 return 1 @@ -470,13 +470,13 @@ do_transfer() =20 if [ ${stat_synrx_now_l} -lt ${expect_synrx} ]; then printf "[ FAIL ] lower MPC SYN rx (%d) than expected (%d)\n" \ - "${stat_synrx_now_l}" "${expect_synrx}" 1>&2 + "${stat_synrx_now_l}" "${expect_synrx}" retc=3D1 fi if [ ${stat_ackrx_now_l} -lt ${expect_ackrx} ] && [ ${stat_ooo_now} -eq 0= ]; then if [ ${stat_ooo_now} -eq 0 ]; then printf "[ FAIL ] lower MPC ACK rx (%d) than expected (%d)\n" \ - "${stat_ackrx_now_l}" "${expect_ackrx}" 1>&2 + "${stat_ackrx_now_l}" "${expect_ackrx}" rets=3D1 else printf "[ Note ] fallback due to TCP OoO" @@ -721,7 +721,7 @@ EOF ip -net "$listener_ns" route del local $local_addr/0 dev lo table 100 =20 if [ $lret -ne 0 ]; then - echo "FAIL: $msg, mptcp connection error" 1>&2 + echo "FAIL: $msg, mptcp connection error" ret=3D$lret return 1 fi @@ -810,7 +810,7 @@ log_if_error() local msg=3D"$1" =20 if [ ${ret} -ne 0 ]; then - echo "FAIL: ${msg}" 1>&2 + echo "FAIL: ${msg}" =20 final_ret=3D${ret} ret=3D0 diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 6ed4aa32222f..7c70b52e63c6 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -103,7 +103,8 @@ check_mark() local v for v in $values; do if [ $v -ne 0 ]; then - echo "FAIL: got $tables $values in ns $ns , not 0 - not all expected pa= ckets marked" 1>&2 + echo "FAIL: got $tables $values in ns $ns," \ + "not 0 - not all expected packets marked" ret=3D1 return 1 fi @@ -162,7 +163,7 @@ do_transfer() local rets=3D$? =20 if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then - echo " client exit code $retc, server $rets" 1>&2 + echo " 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 =3D :$port" =20 @@ -221,7 +222,7 @@ do_mptcp_sockopt_tests() lret=3D$? =20 if [ $lret -ne 0 ]; then - echo "FAIL: SOL_MPTCP getsockopt" 1>&2 + echo "FAIL: SOL_MPTCP getsockopt" mptcp_lib_result_fail "sockopt v4" ret=3D$lret return @@ -232,7 +233,7 @@ do_mptcp_sockopt_tests() lret=3D$? =20 if [ $lret -ne 0 ]; then - echo "FAIL: SOL_MPTCP getsockopt (ipv6)" 1>&2 + echo "FAIL: SOL_MPTCP getsockopt (ipv6)" mptcp_lib_result_fail "sockopt v6" ret=3D$lret return @@ -263,7 +264,7 @@ do_tcpinq_test() local lret=3D$? if [ $lret -ne 0 ];then ret=3D$lret - echo "FAIL: mptcp_inq $*" 1>&2 + echo "FAIL: mptcp_inq $*" mptcp_lib_result_fail "TCP_INQ: $*" return $lret fi --=20 2.40.1 From nobody Wed May 15 05:52:57 2024 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 0510E10A1B for ; Tue, 5 Mar 2024 05:22:16 +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=1709616137; cv=none; b=DPt9FlmEEuJwDKr2U+45oLr7NAvixulzbPvmLYIUBwPCXq50cNojXl+ucKCLznxEbIb4khnMyayWlHFhDVnKJI+d0ueCdwCZUET95ee22j3Y9nEkJgBb1Qz7qlw39jgSaU3elJmeHA5FceW3u7XE04KLrAg/nXEV1gVEbLAOKII= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616137; c=relaxed/simple; bh=lRvyJQ4n8mZ4DG2sxqKIHcdRZJy2sdYu/xFPhRZroCA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CNlIXk6SthWcp1A6iHlCd1aeSjeo/g4hdu1HNzLYygT9ibmYkqb+7gcAfQpTw01gbmKGV/i5FdiuhjV1r7ILk3s39vt2Fc44//U/Up2LKF5v/kryp7XFrKH1uxfQ6tBa/1vW2ol2ICJj5V21IjDtlazNDy6rsY4h1Z7w6v3kq7U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KQ5yYsuk; 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="KQ5yYsuk" Received: by smtp.kernel.org (Postfix) with ESMTPSA id ADBA8C43390; Tue, 5 Mar 2024 05:22:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616136; bh=lRvyJQ4n8mZ4DG2sxqKIHcdRZJy2sdYu/xFPhRZroCA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KQ5yYsuk9b1izUU81iW2jhFe3u5yPLrq1aFXI6eF26Qkghp9thJ6oZ4WjER5iSOyz mrWQzKw+cFBM9IVJbKBES4MUXhF/INwNQlW5A3N0dvwF/IWMDwhGCH8nG3d8slnFph EXNin8DWOIetjbaLFVIl7s89TxTw6cjUw6JUlpN1tqMCkKXJlcI+OXHXMfi+llrUK2 ryEwlzIT1EsOjkd+llTI0jJ647t3j8jfALXxNlzwsK871XLucaId1U04tv/sr52h8h bLkUZEiWKBkK0SH225czIdUGSWOFOWzWQQPuQB3g5K4czQQggEroFf2ATk8JiS9tRN 9bWwnEmEd8epA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 2/9] selftests: mptcp: connect: add dedicated port counter Date: Tue, 5 Mar 2024 13:22:00 +0800 Message-Id: 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 dedicated counter 'prot_base' instead of TEST_COUNT to increase port numbers in mptcp_connect.sh. This can avoid outputting discontinuous test counters. Signed-off-by: Geliang Tang --- Notes: use port_base instead of PORT tools/testing/selftests/net/mptcp/mptcp_connect.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 679e366c8f6b..c47ea779145d 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -33,6 +33,7 @@ do_tcp=3D0 checksum=3Dfalse filesize=3D0 connect_per_transfer=3D1 +port_base=3D10000 =20 if [ $tc_loss -eq 100 ];then tc_loss=3D1% @@ -314,7 +315,7 @@ do_transfer() local extra_args=3D"$7" =20 local port - port=3D$((10000+TEST_COUNT)) + port=3D$((port_base++)) TEST_COUNT=3D$((TEST_COUNT+1)) =20 if [ "$rcvbuf" -gt 0 ]; then @@ -710,7 +711,7 @@ EOF =20 echo "INFO: test $msg" =20 - TEST_COUNT=3D10000 + port_base=3D20000 local extra_args=3D"-o TRANSPARENT" do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP \ ${connect_addr} ${local_addr} "${extra_args}" --=20 2.40.1 From nobody Wed May 15 05:52:57 2024 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 5623810A1B for ; Tue, 5 Mar 2024 05:22:17 +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=1709616138; cv=none; b=GtEySVQIqGnNrIKZKCcrwvLmb2zWztZziLDjpEjJZVPqFS7Lafbut47cG9INgxlH9FhiHU3VM/ozi4ZRg5GUIRJRSXCsoxhNY7e2G/Tklza85Sam46QKzg0n9xMEtUuGmYTS6oNa9cJvP8FX0skgwE9KLEKe/DvAu5oA5aAh5CI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616138; c=relaxed/simple; bh=r2pIfJgq0ihDAIcnTI4H5W5MoR3cRgq2gzhAw956buo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=b/A29aXqUE09h06uxaMcUD/Og91B3DBZ6xqhx1tlfVS6+twMH+cQum/Mhx9UM8Cx34M7RtVnqdO6Pk+RZB8BTFs8z3zla9BEJFX8hcFBPLFVr8fHB35ncLkNsisurShuGDvtVIDSfl2jZ/6mSVsvxKbQ1wm3YLmE3TA+JTefu2I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bxMO1tgN; 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="bxMO1tgN" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0BBB7C433F1; Tue, 5 Mar 2024 05:22:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616137; bh=r2pIfJgq0ihDAIcnTI4H5W5MoR3cRgq2gzhAw956buo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bxMO1tgNG0treFWrtRrr0r6vKhtSknZDkfAmVlJ7mQLJt6w6UtjAZrVY7TbyCKkpN +HDzegdbxP0dNHNXweZ9E73FFIKV9MY1jzkD0yz1JD+4TiZXcPMKZHjIl/rFnNA5IY bJOAJD+llxC4T79hQLsBZD9VF6gO0Xiz4uabJAyz8rFX0HUDuv3AtSnOsmB51+kMuz xKD4ZR8nLMQUVTPER5lV3lM5QWYXnqCmasnIUC0RQsA/uBP2+IwEloBv6ZJuk9z+RV UQk2E0zZa51PxOwSAmBrZx8IYY0xDqlaZ8Tw361Gy62JBZZUkgfeRm06darVwEhFoh wdsqD8FI5W94A== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 3/9] selftests: mptcp: connect: fix misaligned output Date: Tue, 5 Mar 2024 13:22:01 +0800 Message-Id: <7cabbfad0867d61cc74b5eb86d559c90dc3e7a6b.1709615883.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 The first [ OK ] in the output of mptcp_connect.sh misaligns with the others: New MPTCP socket can be blocked via sysctl [ OK ] INFO: validating network environment with pings INFO: Using loss of 0.85% delay 16 ms reorder 95% 70% with delay 4ms on ns1 MPTCP -> ns1 (10.0.1.1:10000 ) MPTCP (duration 184ms) [ OK ] ns1 MPTCP -> ns1 (10.0.1.1:10001 ) TCP (duration 50ms) [ OK ] ns1 TCP -> ns1 (10.0.1.1:10002 ) MPTCP (duration 55ms) [ OK ] This patch aligns them by using 69 chars to display the first two lines, and 50 chars for the other. Since 19 chars are used to display duration time. Also print out a [ OK ] at the end of the 2nd line for consistency. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index c47ea779145d..709233ffa305 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -248,11 +248,17 @@ else set_ethtool_flags "$ns4" ns4eth3 "$ethtool_args" fi =20 +print_larger_title() { + # here we don't have the time, a bit longer for the alignment + printf "%-69s" "${@}" +} + check_mptcp_disabled() { local disabled_ns mptcp_lib_ns_init disabled_ns =20 + print_larger_title "New MPTCP socket can be blocked via sysctl" # net.mptcp.enabled should be enabled by default if [ "$(ip netns exec ${disabled_ns} sysctl net.mptcp.enabled | awk '{ pr= int $3 }')" -ne 1 ]; then echo -e "net.mptcp.enabled sysctl is not 1 by default\t\t[ FAIL ]" @@ -274,7 +280,7 @@ check_mptcp_disabled() return 1 fi =20 - echo -e "New MPTCP socket can be blocked via sysctl\t\t[ OK ]" + echo "[ OK ]" mptcp_lib_result_pass "New MPTCP socket can be blocked via sysctl" return 0 } @@ -343,7 +349,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 "%s\t" "${result_msg}" + printf "%-50s" "${result_msg}" =20 if $capture; then local capuser @@ -836,7 +842,7 @@ check_mptcp_disabled =20 stop_if_error "The kernel configuration is not valid for MPTCP" =20 -echo "INFO: validating network environment with pings" +print_larger_title "Validating network environment with pings" for sender in "$ns1" "$ns2" "$ns3" "$ns4";do do_ping "$ns1" $sender 10.0.1.1 do_ping "$ns1" $sender dead:beef:1::1 @@ -858,6 +864,7 @@ done mptcp_lib_result_code "${ret}" "ping tests" =20 stop_if_error "Could not even run ping tests" +echo "[ OK ]" =20 [ -n "$tc_loss" ] && tc -net "$ns2" qdisc add dev ns2eth3 root netem loss = random $tc_loss delay ${tc_delay}ms echo -n "INFO: Using loss of $tc_loss " --=20 2.40.1 From nobody Wed May 15 05:52:57 2024 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 518FF10A1B for ; Tue, 5 Mar 2024 05:22:19 +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=1709616139; cv=none; b=TtS74niHFsJH1XuqE6PXO6aAeRaAAQjWMQhkA/SDsqdhwPN8klCEd7CvVnKsp+XvjoBWLRHIeT873g+/0JmKQZE9kKfa5DI1gB23sr35dGHN0n0Qhzyb3qChFotvzGO0whIz/2vz7YtWNjJTVCB437fKokbWkvwzWsUnld3hl4A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616139; c=relaxed/simple; bh=f0jTeinBjuVIE07L9iwf5FkS74tQY5blTjXDif9Iu7c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jwS+qoNdk7lGJu2Iz6t2FmR+p+xTGzGJHf1JCf3WkMU+aUCle5fCp6gSlFh48cowP8MEjZ05MTn8Bvu3aFp7/rF5sM8H+BxiwuC8NdFVaLVeA+Assp2OJZU7XOEKRyF907vnXWFuBtYV+scseGoOtj5w6oZg6rl0p3k/sCzmgSs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=vIeupz0B; 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="vIeupz0B" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D5EBC43390; Tue, 5 Mar 2024 05:22:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616139; bh=f0jTeinBjuVIE07L9iwf5FkS74tQY5blTjXDif9Iu7c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vIeupz0B6PKAbSntCVe5FTgk7C3jrB68LPKCcgzPYWhW8dVTHNd9Unt6KeWRZDoDd DzhV9U36KPxT9bBwaGAfTponFfudqneNA28fCFkA2QYUz3iEju1o0TpzicMIyWbsBS jqdOCCXqbnB6gc42T/IIbwjXZX7NsFjFHuauPUTziUyIQPt9P5fNpm6lbOjyCr8x9g 4bqsHJ7baxeLBQg818JgKUpoLIN/RRlZWVbDVmGB1k7sXs/pTB02Ky4V/PbzcN25aL lSzY8DtJi6zAjvfuIPBwLNUj3JfR/QPe3kles7eoYcjbtuMPF+56xWqY2uXooqnNkP aw6fF+8+0B1hA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 4/9] selftests: mptcp: sockopt: print every test result Date: Tue, 5 Mar 2024 13:22:02 +0800 Message-Id: <49a057cdf4728d52ce1301a04fe1fbe63a6c2a91.1709615883.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 Only total test results are printed out in mptcp_sockopt.sh: PASS: all packets had packet mark set PASS: SOL_MPTCP getsockopt has expected information PASS: TCP_INQ cmsg/ioctl -t tcp PASS: TCP_INQ cmsg/ioctl -6 -t tcp PASS: TCP_INQ cmsg/ioctl -r tcp PASS: TCP_INQ cmsg/ioctl -6 -r tcp PASS: TCP_INQ cmsg/ioctl -r tcp -t tcp They mismatch with the test results: ok 1 - mptcp_sockopt: mark ipv4 ok 2 - mptcp_sockopt: transfer ipv4 ok 3 - mptcp_sockopt: mark ipv6 ok 4 - mptcp_sockopt: transfer ipv6 ok 5 - mptcp_sockopt: sockopt v4 ok 6 - mptcp_sockopt: sockopt v6 ok 7 - mptcp_sockopt: TCP_INQ: -t tcp ok 8 - mptcp_sockopt: TCP_INQ: -6 -t tcp ok 9 - mptcp_sockopt: TCP_INQ: -r tcp ok 10 - mptcp_sockopt: TCP_INQ: -6 -r tcp ok 11 - mptcp_sockopt: TCP_INQ: -r tcp -t tcp 'mptcp_sockopt.sh' now display more detailed results + why (what you had in a former patch from v6, merged here). It no longer displays 'PASS:', because it is duplicated info now that the detailed are displayed: Transfer v4 [ OK ] Mark v4 [ OK ] Transfer v6 [ OK ] Mark v6 [ OK ] SOL_MPTCP sockopt v4 [ OK ] SOL_MPTCP sockopt v6 [ OK ] TCP_INQ cmsg/ioctl -t tcp [ OK ] TCP_INQ cmsg/ioctl -6 -t tcp [ OK ] TCP_INQ cmsg/ioctl -r tcp [ OK ] TCP_INQ cmsg/ioctl -6 -r tcp [ OK ] TCP_INQ cmsg/ioctl -r tcp -t tcp [ OK ] Also fix the TAP output: ok 1 - mptcp_sockopt: transfer ipv4 ok 2 - mptcp_sockopt: mark ipv4 ok 3 - mptcp_sockopt: transfer ipv6 ok 4 - mptcp_sockopt: mark ipv6 ok 5 - mptcp_sockopt: sockopt v4 ok 6 - mptcp_sockopt: sockopt v6 ok 7 - mptcp_sockopt: TCP_INQ: -t tcp ok 8 - mptcp_sockopt: TCP_INQ: -6 -t tcp ok 9 - mptcp_sockopt: TCP_INQ: -r tcp ok 10 - mptcp_sockopt: TCP_INQ: -6 -r tcp ok 11 - mptcp_sockopt: TCP_INQ: -r tcp -t tcp Signed-off-by: Geliang Tang --- Notes: fix the TAP output .../selftests/net/mptcp/mptcp_sockopt.sh | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 7c70b52e63c6..17b36c1312f4 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -113,6 +113,11 @@ check_mark() return 0 } =20 +print_title() +{ + printf "%-50s" "${@}" +} + do_transfer() { local listener_ns=3D"$1" @@ -162,8 +167,9 @@ do_transfer() wait $spid local rets=3D$? =20 + print_title "Transfer ${ip:2}" if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then - echo " client exit code $retc, server $rets" + echo "[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 =3D :$port" =20 @@ -175,7 +181,14 @@ do_transfer() ret=3D1 return 1 fi + if ! mptcp_lib_check_transfer $cin $sout "file received by server"; then + rets=3D1 + else + echo "[ OK ]" + fi + mptcp_lib_result_code "${rets}" "transfer ${ip}" =20 + print_title "Mark ${ip:2}" if [ $local_addr =3D "::" ];then check_mark $listener_ns 6 || retc=3D1 check_mark $connector_ns 6 || retc=3D1 @@ -184,15 +197,13 @@ do_transfer() check_mark $connector_ns 4 || retc=3D1 fi =20 - mptcp_lib_check_transfer $cin $sout "file received by server" - rets=3D$? - mptcp_lib_result_code "${retc}" "mark ${ip}" - mptcp_lib_result_code "${rets}" "transfer ${ip}" =20 if [ $retc -eq 0 ] && [ $rets -eq 0 ];then + echo "[ OK ]" return 0 fi + echo "[FAIL]" =20 return 1 } @@ -221,23 +232,27 @@ do_mptcp_sockopt_tests() ip netns exec "$ns_sbox" ./mptcp_sockopt lret=3D$? =20 + print_title "SOL_MPTCP sockopt v4" if [ $lret -ne 0 ]; then - echo "FAIL: SOL_MPTCP getsockopt" + echo "[FAIL]" mptcp_lib_result_fail "sockopt v4" ret=3D$lret return fi + echo "[ OK ]" mptcp_lib_result_pass "sockopt v4" =20 ip netns exec "$ns_sbox" ./mptcp_sockopt -6 lret=3D$? =20 + print_title "SOL_MPTCP sockopt v6" if [ $lret -ne 0 ]; then - echo "FAIL: SOL_MPTCP getsockopt (ipv6)" + echo "[FAIL]" mptcp_lib_result_fail "sockopt v6" ret=3D$lret return fi + echo "[ OK ]" mptcp_lib_result_pass "sockopt v6" } =20 @@ -260,16 +275,17 @@ run_tests() =20 do_tcpinq_test() { + print_title "TCP_INQ cmsg/ioctl $*" ip netns exec "$ns_sbox" ./mptcp_inq "$@" local lret=3D$? if [ $lret -ne 0 ];then ret=3D$lret - echo "FAIL: mptcp_inq $*" + echo "[FAIL]" mptcp_lib_result_fail "TCP_INQ: $*" return $lret fi =20 - echo "PASS: TCP_INQ cmsg/ioctl $*" + echo "[ OK ]" mptcp_lib_result_pass "TCP_INQ: $*" return $lret } @@ -315,15 +331,7 @@ trap cleanup EXIT run_tests $ns1 $ns2 10.0.1.1 run_tests $ns1 $ns2 dead:beef:1::1 =20 -if [ $ret -eq 0 ];then - echo "PASS: all packets had packet mark set" -fi - do_mptcp_sockopt_tests -if [ $ret -eq 0 ];then - echo "PASS: SOL_MPTCP getsockopt has expected information" -fi - do_tcpinq_tests =20 mptcp_lib_result_print_all_tap --=20 2.40.1 From nobody Wed May 15 05:52:57 2024 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 A1FEE10A1B for ; Tue, 5 Mar 2024 05:22:20 +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=1709616140; cv=none; b=E4xXGMnqOt5plxKKMuau4GdEorWecO1ahnJgeRlpE/xBRBYiaqsso9D7UBC8p3/J7TbzMuliEciT10PQx10H7XbUxsvcMMEzycvpGVvk6GUwFTB0I2Q4ytRS1JUylSYKsFgg/3SteE6StOMRwT5+U77X527HqxyxMbsg17U/Nrc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616140; c=relaxed/simple; bh=/Np0L9xEvqMGOscUHqB74YVc/W7tWxVl6QLnSmK2ZhU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EpwL8cvXASVHKYj9mhz2u88U2Jbs6V4CTk83IyAqk9TOiawA50sQmrZPrHiOmhjMv/HdTz9ssEYZRjVWRDTqreQ/qeYcEYPXXogr64bXktD1RtEXp3h/wb0z/sswhJj1lMRTeLJDV2y2CqKSuVH9nKaZkQdqSpM8Pb9kEc5b+aA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iqtfY57n; 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="iqtfY57n" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AF3ECC433F1; Tue, 5 Mar 2024 05:22:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616140; bh=/Np0L9xEvqMGOscUHqB74YVc/W7tWxVl6QLnSmK2ZhU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iqtfY57nt62OkWsNnYQDkiRAWTELBFehbQR5wShqo0GKXbZTgGUZyMz6va5CVL8T7 tgOaPAmOJIex04U6T8s7EiDuA8ty0xafXMVsfB9p0yX61iQzHIuOMeEKskF57FaJ/4 sFC8J5r2OpF9LSXDRbQJmrMIIu5c0KvYCCSlxf/qRvjB0B+iZe6lpYXDQYnUDnBhoL r0TyHqZTZ4aLV1URvTmK0OXfT3aI2NLysw9IzFdMGInItxm8qBupmh5PaeAm3FhMBp x6W92CJpw0FELaWyGB6qO1g6Mgh27J4mp/ggmQ1HOKRp1FMtBVq34Sr0R/S71hP+H2 8D/9c42tJir/Q== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 5/9] selftests: mptcp: export TEST_COUNTER variable Date: Tue, 5 Mar 2024 13:22:03 +0800 Message-Id: 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 Variable TEST_COUNT are used in mptcp_connect.sh and mptcp_join.sh as test counters, which are initialized to 0, while variable test_cnt are used in diag.sh and simult_flows.sh, which are initialized to 1. To maintain consistency, this patch renames them all as MPTCP_LIB_TEST_COUNTER, initializes it to 1, and exports it into mptcp_lib.sh. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 5 ++--- .../testing/selftests/net/mptcp/mptcp_connect.sh | 3 +-- tools/testing/selftests/net/mptcp/mptcp_join.sh | 15 +++++++-------- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 2 ++ tools/testing/selftests/net/mptcp/simult_flows.sh | 5 ++--- 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index afe862895946..b63510ce2327 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -9,7 +9,6 @@ . "$(dirname "${0}")/mptcp_lib.sh" =20 ns=3D"" -test_cnt=3D1 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) ret=3D0 @@ -69,7 +68,7 @@ __chk_nr() echo "[ ok ]" mptcp_lib_result_pass "${msg}" fi - test_cnt=3D$((test_cnt+1)) + MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) } =20 __chk_msk_nr() @@ -127,7 +126,7 @@ wait_msk_nr() echo "[ ok ]" mptcp_lib_result_pass "${msg}" fi - test_cnt=3D$((test_cnt+1)) + 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 709233ffa305..da943aa0cea1 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -131,7 +131,6 @@ ns2=3D"" ns3=3D"" ns4=3D"" =20 -TEST_COUNT=3D0 TEST_GROUP=3D"" =20 # This function is used in the cleanup trap @@ -322,7 +321,7 @@ do_transfer() =20 local port port=3D$((port_base++)) - TEST_COUNT=3D$((TEST_COUNT+1)) + MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) =20 if [ "$rcvbuf" -gt 0 ]; then extra_args=3D"$extra_args -R $rcvbuf" diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 1df2d24979a0..4ef0d5ae9dae 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -48,7 +48,6 @@ declare -A all_tests declare -a only_tests_ids declare -a only_tests_names declare -A failed_tests -TEST_COUNT=3D0 TEST_NAME=3D"" nr_blank=3D6 =20 @@ -172,7 +171,7 @@ cleanup() =20 print_title() { - printf "%03u %s\n" "${TEST_COUNT}" "${TEST_NAME}" + printf "%03u %s\n" "${MPTCP_LIB_TEST_COUNTER}" "${TEST_NAME}" } =20 print_check() @@ -233,7 +232,7 @@ skip_test() =20 local i for i in "${only_tests_ids[@]}"; do - if [ "${TEST_COUNT}" -eq "${i}" ]; then + if [ "${MPTCP_LIB_TEST_COUNTER}" -eq "${i}" ]; then return 1 fi done @@ -268,7 +267,7 @@ reset() =20 TEST_NAME=3D"${1}" =20 - TEST_COUNT=3D$((TEST_COUNT+1)) + MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) =20 if skip_test; then last_test_ignored=3D1 @@ -462,7 +461,7 @@ fail_test() =20 # just in case a test is marked twice as failed if [ ${last_test_failed} -eq 0 ]; then - failed_tests[${TEST_COUNT}]=3D"${TEST_NAME}" + failed_tests[${MPTCP_LIB_TEST_COUNTER}]=3D"${TEST_NAME}" dump_stats last_test_failed=3D1 fi @@ -973,7 +972,7 @@ do_transfer() local srv_proto=3D"$4" local connect_addr=3D"$5" =20 - local port=3D$((10000 + TEST_COUNT - 1)) + local port=3D$((10000 + MPTCP_LIB_TEST_COUNTER - 1)) local cappid local FAILING_LINKS=3D${FAILING_LINKS:-""} local fastclose=3D${fastclose:-""} @@ -991,9 +990,9 @@ do_transfer() capuser=3D"-Z $SUDO_USER" fi =20 - capfile=3D$(printf "mp_join-%02u-%s.pcap" "$TEST_COUNT" "${listener_ns}") + capfile=3D$(printf "mp_join-%02u-%s.pcap" "$MPTCP_LIB_TEST_COUNTER" "${l= istener_ns}") =20 - echo "Capturing traffic for test $TEST_COUNT into $capfile" + echo "Capturing traffic for test $MPTCP_LIB_TEST_COUNTER into $capfile" ip netns exec ${listener_ns} tcpdump -i any -s 65535 -B 32768 $capuser -= w $capfile > "$capout" 2>&1 & cappid=3D$! =20 diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 763a2989ca6d..032a555a6b45 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -10,6 +10,8 @@ readonly KSFT_TEST=3D"${MPTCP_LIB_KSFT_TEST:-$(basename "= ${0}" .sh)}" =20 MPTCP_LIB_SUBTESTS=3D() MPTCP_LIB_SUBTESTS_DUPLICATED=3D0 +# shellcheck disable=3DSC2034 # unused at this moment +MPTCP_LIB_TEST_COUNTER=3D0 =20 # only if supported (or forced) and not disabled, see no-color.org if { [ -t 1 ] || [ "${SELFTESTS_MPTCP_LIB_COLOR_FORCE:-}" =3D "1" ]; } && diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 467feb17e07b..20bf1ea43362 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -14,7 +14,6 @@ ns3=3D"" capture=3Dfalse timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) -test_cnt=3D1 ret=3D0 bail=3D0 slack=3D50 @@ -126,8 +125,8 @@ do_transfer() local sin=3D$2 local max_time=3D$3 local port - port=3D$((10000+test_cnt)) - test_cnt=3D$((test_cnt+1)) + port=3D$((10000+MPTCP_LIB_TEST_COUNTER)) + MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) =20 :> "$cout" :> "$sout" --=20 2.40.1 From nobody Wed May 15 05:52:57 2024 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 F2B8710A1B for ; Tue, 5 Mar 2024 05:22:21 +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=1709616142; cv=none; b=DVu1dR2XPJ0+jzeGNLfbD0fr0vZIy+gMeQM9UfE4CblD/rf2DUz3lfe6nRZPa+bb3cGplhx5vRHY/1KXCPea/s4waB+PaV21f8Xei48oSyl37zRISTCkAxB8Au1uGc9Y9weP/Z1jJgeJY6EVNlIuyKidoY8iib0TQqg6REYGnpw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616142; c=relaxed/simple; bh=dnamg94oY8MZcfk3Y9kGU+YOD7C6OaVAAPFMQdpjUOY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=SsmUvtei6Ux7p6AjSeezU8Ts35m3QMAxoNHDwWAgd+rRlXchc3Q1y1T+QQkN5+W9wpz07j5fWhgS6OzulQWlU1Dxt+tIAHCmvlgoypdZutNYzDiplw92n7gU6xz1HBK5fr/YEBXlM8yM0sfsF114CywPHdOM/0RNtjALnNKBjvE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jmNCmZ0q; 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="jmNCmZ0q" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0CD56C43394; Tue, 5 Mar 2024 05:22:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616141; bh=dnamg94oY8MZcfk3Y9kGU+YOD7C6OaVAAPFMQdpjUOY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jmNCmZ0qiJslRjApKo0nJ5AGqmb9zf5LbW/WvICvjNnApcXcMlHf3F8l9Ky5otNJh cVLtCrKT97njFLm+bGl/kt9VbN3M++YgJS8P+QquPwxePCNDYjIJHr1D7ePTI2/TpO HmEiXd7nP8L5Q0phXqZIDoJBTLRtoGJH54FaTQ9lP+/SGk65CPOijzIf1jtD4q95yq t6ZIksIQec6SHEYJL/CLI8FtKemp7Mb9WVLXBjYQLOfaNscCK8fG0asA1shhGOa0+w nehgGDwD5Y1xQ80y4zVsw7as2SiW79igJ5AuBMyVeIvgfKYZrUSU+XTYp/W5i3zXnS HYdumerVdn4Xg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 6/9] selftests: mptcp: add print_title in mptcp_lib Date: Tue, 5 Mar 2024 13:22:04 +0800 Message-Id: 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 variable MPTCP_LIB_TEST_FORMAT as the test title printing format. Also add a helper mptcp_lib_print_title() to use this format to print the test title with test counters. They are used in mptcp_join.sh first. Each MPTCP selftest is having subtests, and it helps to give them a number to quickly identify them. This can be managed by mptcp_lib.sh, reusing what has been done here. The following commit will use these new helpers in the other tests. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 13 ++++--------- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 10 +++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 4ef0d5ae9dae..2f34e2b9a1c4 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -48,6 +48,7 @@ declare -A all_tests declare -a only_tests_ids declare -a only_tests_names declare -A failed_tests +MPTCP_LIB_TEST_FORMAT=3D"%03u %s\n" TEST_NAME=3D"" nr_blank=3D6 =20 @@ -169,11 +170,6 @@ cleanup() cleanup_partial } =20 -print_title() -{ - printf "%03u %s\n" "${MPTCP_LIB_TEST_COUNTER}" "${TEST_NAME}" -} - print_check() { printf "%-${nr_blank}s%-36s" " " "${*}" @@ -232,7 +228,7 @@ skip_test() =20 local i for i in "${only_tests_ids[@]}"; do - if [ "${MPTCP_LIB_TEST_COUNTER}" -eq "${i}" ]; then + if [ "$((MPTCP_LIB_TEST_COUNTER+1))" -eq "${i}" ]; then return 1 fi done @@ -267,14 +263,13 @@ reset() =20 TEST_NAME=3D"${1}" =20 - MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) - if skip_test; then + MPTCP_LIB_TEST_COUNTER=3D$((MPTCP_LIB_TEST_COUNTER+1)) last_test_ignored=3D1 return 1 fi =20 - print_title + mptcp_lib_print_title "${TEST_NAME}" =20 if [ "${init}" !=3D "1" ]; then init diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 032a555a6b45..459e90258f37 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -10,8 +10,8 @@ readonly KSFT_TEST=3D"${MPTCP_LIB_KSFT_TEST:-$(basename "= ${0}" .sh)}" =20 MPTCP_LIB_SUBTESTS=3D() MPTCP_LIB_SUBTESTS_DUPLICATED=3D0 -# shellcheck disable=3DSC2034 # unused at this moment MPTCP_LIB_TEST_COUNTER=3D0 +MPTCP_LIB_TEST_FORMAT=3D"%02u %-50s" =20 # only if supported (or forced) and not disabled, see no-color.org if { [ -t 1 ] || [ "${SELFTESTS_MPTCP_LIB_COLOR_FORCE:-}" =3D "1" ]; } && @@ -413,3 +413,11 @@ mptcp_lib_events() { ip netns exec "${ns}" ./pm_nl_ctl events >> "${evts}" 2>&1 & pid=3D$! } + +mptcp_lib_print_title() { + : "${MPTCP_LIB_TEST_COUNTER:?}" + : "${MPTCP_LIB_TEST_FORMAT:?}" + + # shellcheck disable=3DSC2059 # the format is in a variable + printf "${MPTCP_LIB_TEST_FORMAT}" "$((++MPTCP_LIB_TEST_COUNTER))" "${*}" +} --=20 2.40.1 From nobody Wed May 15 05:52:57 2024 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 5C83910A1B for ; Tue, 5 Mar 2024 05:22: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=1709616143; cv=none; b=tEI3sin//MDWqTQC1frSbj/NzwTWXEYxlpIblnLvQgvs4lgV75z7jcx/cdBne5lGZFnqobYw+Ae5JkG8xNP9xSCCZjTKLUcj4bOiPAesjdRlMdseWJNIc4rmSNqM1N46JpQl+mp/q/GZ+kQd8/ZqeOVsFqNQDgqMFuB8KG/qbkg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616143; c=relaxed/simple; bh=+sK0wTaehYThqndiPHqx9kbd/99rtW7d1DSUy4y4dYM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LNX9xs+wOl3M0VwDJldHjwK62dVPaxkuho0KVq5qgwxUc/LeQ+BM5aor8QH9w0n9ZlytE2YoAeTUHOMaN9daMOMmB1VZeVLXaOe5CTEcVde3+GNSk4UuPFAi+COYhOe/daLIzFNPGII3pF34AEMixL1mvPp32Cy+uCmZTNKZTiM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=q0eH9URc; 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="q0eH9URc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F35BC433C7; Tue, 5 Mar 2024 05:22:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616143; bh=+sK0wTaehYThqndiPHqx9kbd/99rtW7d1DSUy4y4dYM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=q0eH9URc42Ma12xSLCuDP5PhBhRSj9rmIpDfmyBWFu68/QhTuzMMoj6BRVkr6mR6l udQOPv/s0Vkk4393kENVjs1kr/P7mY6ypqRv+QxJ1Lx7rAQ3H1qjX0DAPZajoVQjmt J4b7OXUp1d6eio4GHOtsCXXrhSIprCmX8i+Q/UViQuNTdvdO59LkG6ID4/tMocQnY6 x2tnYupAVPrKprLEY6JAnMckkU7YzpdhjGeTMLen6kGCsMm+OsvSAYHMdluKmoyrFb 1v0yNZaeJUSM44vsSJwYsFQhpYN+ucccQA9X1YC38LpOjXMQ2M7ezKT6uf2yCpTX05 ctifFfUaYqpjA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 7/9] selftests: mptcp: print test results with counters Date: Tue, 5 Mar 2024 13:22:05 +0800 Message-Id: <2122d7c0809df97620282fdea7780b030f4ad312.1709615883.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 da943aa0cea1..684c24aba21a 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$((port_base++)) - 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 17b36c1312f4..466800326cbb 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 "[FAIL] client exit code $retc, server $rets" echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2 @@ -188,7 +183,7 @@ do_transfer() fi mptcp_lib_result_code "${rets}" "transfer ${ip}" =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 @@ -232,7 +227,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" @@ -245,7 +240,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" @@ -275,7 +270,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 From nobody Wed May 15 05:52:57 2024 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 A618910A1B for ; Tue, 5 Mar 2024 05:22:24 +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=1709616144; cv=none; b=KDbKW/k8VYy4e0byi/E9jMkvLZaJ1tAilrMl4j7lQi9TG8ycoygDuj1bm4HEqJGHv7ez5aZ9SL7KY8mJtXPV+5vGGdYCh5wPaHTk9uEPrsnSyG2uELZJRPHFqOxZesn2glgIVSEGs3M2F/36lPGXC0rwWhBcx8lCMmNiBmiEYkQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616144; c=relaxed/simple; bh=Vt2AoNIb23GEeBBm+6o7ZTdRLZr/jHnCPmHxPkOeP+o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qO2yrIDsbEWiKviZ2MaFN1ReiBvaTs06S93m0VJAsoTbZRY+Qzl6kVEsd6ey+nwa9gQK0oQ620kJm+nFBKGcKe1ed0M4/DKLTRJzCYtApFuy6Mmgd8f7NtqAWkWed3D1yGhEWjdMXeNPk4UwXkGnD0LnrPIsUx1sSzlsj1aJ0Zg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CNYzDDoo; 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="CNYzDDoo" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B3E64C433F1; Tue, 5 Mar 2024 05:22:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616144; bh=Vt2AoNIb23GEeBBm+6o7ZTdRLZr/jHnCPmHxPkOeP+o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CNYzDDoo7EjCJD0LXRs7UedG9atFAEdI/p+H9BokXNf9KqmbKpIEGMKw0uQ4AZ5jT 0iNAK+MVFvbwYU8x80q2G9dyG2s7ZlkxJim/GkMhHKUfZ805PG6HMTHE8iUBIRU+BU 3dHwo/twzApInTm5/RefxLrvzg/uvp+FXhK62ifoiKQDMDmfdRTDLBD8tJyPIVZHcx RpeR9aY/oMWjx2b2NpWnmtKz7c5DcN2bsmJKD0nqQHjrrSD9Y3P3rHgg5J69CMZBxA 6v4n+Ry5GQLHHuaxTsdogQDXrwtLTXXWgviTq+SCCYnoXHxP3H7Ylj873173VsaePh PqFygtsGROKvA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 8/9] selftests: mptcp: connect: use += operator to append strings Date: Tue, 5 Mar 2024 13:22:06 +0800 Message-Id: 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 uses addition assignment operator (+=3D) to append strings in mptcp_connect.sh. For extra_args, use +=3D instead of open-coding to make the statements shorter. Add a local variable extra in do_transfer to save the various extra warning logs, using +=3D to append it. And add a new variable tc_info to save vario= us tc info, also using +=3D to append it. This can make the code more readable and prepare for the next commit. Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/mptcp_connect.sh | 50 ++++++++++--------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 684c24aba21a..762f4728f22d 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -324,15 +324,15 @@ do_transfer() port=3D$((port_base++)) =20 if [ "$rcvbuf" -gt 0 ]; then - extra_args=3D"$extra_args -R $rcvbuf" + extra_args+=3D" -R $rcvbuf" fi =20 if [ "$sndbuf" -gt 0 ]; then - extra_args=3D"$extra_args -S $sndbuf" + extra_args+=3D" -S $sndbuf" fi =20 if [ -n "$testmode" ]; then - extra_args=3D"$extra_args -m $testmode" + extra_args+=3D" -m $testmode" fi =20 if [ -n "$extra_args" ] && $options_log; then @@ -508,39 +508,43 @@ do_transfer() fi fi =20 - if [ $retc -eq 0 ] && [ $rets -eq 0 ]; then - printf "[ OK ]" - mptcp_lib_result_pass "${TEST_GROUP}: ${result_msg}" - else - mptcp_lib_result_fail "${TEST_GROUP}: ${result_msg}" - fi + local extra=3D"" =20 if [ $cookies -eq 2 ];then if [ $stat_cookietx_last -ge $stat_cookietx_now ] ;then - printf " WARN: CookieSent: did not advance" + extra+=3D" WARN: CookieSent: did not advance" fi if [ $stat_cookierx_last -ge $stat_cookierx_now ] ;then - printf " WARN: CookieRecv: did not advance" + extra+=3D" WARN: CookieRecv: did not advance" fi else if [ $stat_cookietx_last -ne $stat_cookietx_now ] ;then - printf " WARN: CookieSent: changed" + extra+=3D" WARN: CookieSent: changed" fi if [ $stat_cookierx_last -ne $stat_cookierx_now ] ;then - printf " WARN: CookieRecv: changed" + extra+=3D" WARN: CookieRecv: changed" fi fi =20 if [ ${stat_synrx_now_l} -gt ${expect_synrx} ]; then - printf " WARN: SYNRX: expect %d, got %d (probably retransmissions)" \ - "${expect_synrx}" "${stat_synrx_now_l}" + extra+=3D" WARN: SYNRX: expect ${expect_synrx}," + extra+=3D" got ${stat_synrx_now_l} (probably retransmissions)" fi if [ ${stat_ackrx_now_l} -gt ${expect_ackrx} ]; then - printf " WARN: ACKRX: expect %d, got %d (probably retransmissions)" \ - "${expect_ackrx}" "${stat_ackrx_now_l}" + extra+=3D" WARN: ACKRX: expect ${expect_ackrx}," + extra+=3D" got ${stat_ackrx_now_l} (probably retransmissions)" + fi + + if [ $retc -eq 0 ] && [ $rets -eq 0 ]; then + printf "[ OK ]${extra:1}\n" + mptcp_lib_result_pass "${TEST_GROUP}: ${result_msg}" + else + if [ -n "${extra}" ]; then + printf "${extra:1}\n" + fi + mptcp_lib_result_fail "${TEST_GROUP}: ${result_msg}" fi =20 - echo cat "$capout" [ $retc -eq 0 ] && [ $rets -eq 0 ] } @@ -866,8 +870,8 @@ stop_if_error "Could not even run ping tests" echo "[ OK ]" =20 [ -n "$tc_loss" ] && tc -net "$ns2" qdisc add dev ns2eth3 root netem loss = random $tc_loss delay ${tc_delay}ms -echo -n "INFO: Using loss of $tc_loss " -test "$tc_delay" -gt 0 && echo -n "delay $tc_delay ms " +tc_info=3D"loss of $tc_loss " +test "$tc_delay" -gt 0 && tc_info+=3D"delay $tc_delay ms " =20 reorder_delay=3D$((tc_delay / 4)) =20 @@ -878,17 +882,17 @@ if [ -z "${tc_reorder}" ]; then =20 if [ $reorder_delay -gt 0 ] && [ $reorder1 -lt 100 ] && [ $reorder2 -gt 0= ]; then tc_reorder=3D"reorder ${reorder1}% ${reorder2}%" - echo -n "$tc_reorder with delay ${reorder_delay}ms " + tc_info+=3D"$tc_reorder with delay ${reorder_delay}ms " fi elif [ "$tc_reorder" =3D "0" ];then tc_reorder=3D"" elif [ "$reorder_delay" -gt 0 ];then # reordering requires some delay tc_reorder=3D"reorder $tc_reorder" - echo -n "$tc_reorder with delay ${reorder_delay}ms " + tc_info+=3D"$tc_reorder with delay ${reorder_delay}ms " fi =20 -echo "on ns3eth4" +echo "INFO: Using ${tc_info}on ns3eth4" =20 tc -net "$ns3" qdisc add dev ns3eth4 root netem delay ${reorder_delay}ms $= tc_reorder =20 --=20 2.40.1 From nobody Wed May 15 05:52:57 2024 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 3C99710A1B for ; Tue, 5 Mar 2024 05:22:26 +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=1709616146; cv=none; b=rN1eGnOxmlky1flIjxApr16r4ktToOxipWgyfkQ3+NfJutClxCdmD3Y6JnYvEGa5yN3FaV6uODfsRlcsRRNe8rg3NeJrIBRqNJ+HLpJZdenoChpgMNtNisl5ZbYJKMMATWjZgu66GNVAgUqC5eYQ0LeHuySGgvKq1ym6JhAsByU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709616146; c=relaxed/simple; bh=9pfEFXjzdTC6MZNpbhg5q1EFIxi+Cb1FqZZuWdeO750=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ib6zPfnIt9y9tDnCvdnQ67J19MLse+qE6dqmlXjVe7hzosh00VhufwdKuAB+NmF10nVKZNOcpyG+rGsA1g+1rxhXLKx0KH8eqs4bcpjCTLOu3ezLFjo4x/+mNQVQttu0zSUhTZmEr/TlkvgiLXKcMjfFV+a18psympd8nIjUAG4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AIrNf0np; 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="AIrNf0np" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1278AC43399; Tue, 5 Mar 2024 05:22:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709616146; bh=9pfEFXjzdTC6MZNpbhg5q1EFIxi+Cb1FqZZuWdeO750=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AIrNf0npt2j1YAllJLY/l0ztoM//4S7Rb0eLr3DdyBc1v5cg9v0V/0kfaOybjewqm U/8kyiSL+TlQq5qT/fe6zxrTf6nm7YNCTWf9bfRCHHEImh5UsuNi4m9SSgoUc9pEBG QZnYEpgYtpGmC2GREQHfJDY4Zrj5XJB3BnIbO7BS5kQ83Ogt5fj77oqxRR+uBnMNmT wfDC30kDATjiVKF6S3ptzTXOSN6jPGNE4rLDKjUCrw2+tcmR8Ny1+e7ne3HLPteooO lVg0r6SXLf8ISwfxgqe7tSl4YziFC/hc5AIBlgMzXksvNBjRKHtqrN9NZbSv9/g7fb ESIe191VsBfsA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 9/9] selftests: mptcp: print test results with colors Date: Tue, 5 Mar 2024 13:22:07 +0800 Message-Id: <9a0667639ecd47b8f8bc9370136e53f4d3caef79.1709615883.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 To unify the output formats of all test scripts, this patch adds four more helpers: mptcp_lib_pr_ok() mptcp_lib_pr_skip() mptcp_lib_pr_fail() mptcp_lib_pr_info() to print out [ OK ], [SKIP], [FAIL] and 'INFO: ' with colors. Use them in all scripts to print the "ok/skip/fail/info' using the same 'format'. Having colors helps to quickly identify issues when looking at a long list of output logs and results. Note that now all print the same keywords, which was not the case before, but it is good to uniform that. Signed-off-by: Geliang Tang --- Notes: drop _printf in userspace_pm.sh tools/testing/selftests/net/mptcp/diag.sh | 12 ++-- .../selftests/net/mptcp/mptcp_connect.sh | 62 +++++++++---------- .../testing/selftests/net/mptcp/mptcp_join.sh | 6 +- .../testing/selftests/net/mptcp/mptcp_lib.sh | 35 ++++++++--- .../selftests/net/mptcp/mptcp_sockopt.sh | 28 ++++----- .../testing/selftests/net/mptcp/pm_netlink.sh | 2 +- .../selftests/net/mptcp/simult_flows.sh | 4 +- .../selftests/net/mptcp/userspace_pm.sh | 24 ++----- 8 files changed, 88 insertions(+), 85 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 4ffdd415e670..bc97ab33a00e 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -57,15 +57,15 @@ __chk_nr() 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" + mptcp_lib_pr_skip "Feature probably not supported" mptcp_lib_result_skip "${msg}" else - echo "[ fail ] expected $expected found $nr" + mptcp_lib_pr_fail "expected $expected found $nr" mptcp_lib_result_fail "${msg}" ret=3D${KSFT_FAIL} fi else - echo "[ ok ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "${msg}" fi } @@ -114,15 +114,15 @@ wait_msk_nr() =20 mptcp_lib_print_title "$msg" if [ $i -ge $timeout ]; then - echo "[ fail ] timeout while expecting $expected max $max last $nr" + mptcp_lib_pr_fail "timeout while expecting $expected max $max last $nr" mptcp_lib_result_fail "${msg} # timeout" ret=3D${KSFT_FAIL} elif [ $nr !=3D $expected ]; then - echo "[ fail ] expected $expected found $nr" + mptcp_lib_pr_fail "expected $expected found $nr" mptcp_lib_result_fail "${msg} # unexpected result" ret=3D${KSFT_FAIL} else - echo "[ ok ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "${msg}" fi } diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 762f4728f22d..abed107ee718 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -218,7 +218,7 @@ set_ethtool_flags() { local flags=3D"$3" =20 if ip netns exec $ns ethtool -K $dev $flags 2>/dev/null; then - echo "INFO: set $ns dev $dev: ethtool -K $flags" + mptcp_lib_pr_info "set $ns dev $dev: ethtool -K $flags" fi } =20 @@ -261,7 +261,7 @@ check_mptcp_disabled() print_larger_title "New MPTCP socket can be blocked via sysctl" # net.mptcp.enabled should be enabled by default if [ "$(ip netns exec ${disabled_ns} sysctl net.mptcp.enabled | awk '{ pr= int $3 }')" -ne 1 ]; then - echo -e "net.mptcp.enabled sysctl is not 1 by default\t\t[ FAIL ]" + mptcp_lib_pr_fail "net.mptcp.enabled sysctl is not 1 by default" mptcp_lib_result_fail "net.mptcp.enabled sysctl is not 1 by default" ret=3D1 return 1 @@ -274,13 +274,13 @@ check_mptcp_disabled() mptcp_lib_ns_exit "${disabled_ns}" =20 if [ ${err} -eq 0 ]; then - echo -e "New MPTCP socket cannot be blocked via sysctl\t\t[ FAIL ]" + mptcp_lib_pr_fail "New MPTCP socket cannot be blocked via sysctl" mptcp_lib_result_fail "New MPTCP socket cannot be blocked via sysctl" ret=3D1 return 1 fi =20 - echo "[ OK ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "New MPTCP socket can be blocked via sysctl" return 0 } @@ -301,7 +301,7 @@ do_ping() ip netns exec ${connector_ns} ping ${ping_args} $connect_addr >/dev/null = || rc=3D1 =20 if [ $rc -ne 0 ] ; then - echo "$listener_ns -> $connect_addr connectivity [ FAIL ]" + mptcp_lib_pr_fail "$listener_ns -> $connect_addr connectivity" ret=3D1 =20 return 1 @@ -336,7 +336,7 @@ do_transfer() fi =20 if [ -n "$extra_args" ] && $options_log; then - echo "INFO: extra options: $extra_args" + mptcp_lib_pr_info "extra options: $extra_args" fi options_log=3Dfalse =20 @@ -433,7 +433,7 @@ do_transfer() result_msg+=3D" # time=3D${duration}ms" printf "(duration %05sms) " "${duration}" if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then - echo "[ FAIL ] client exit code $retc, server $rets" 1>&2 + 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 =3D :$port" cat /tmp/${listener_ns}.out @@ -475,14 +475,14 @@ do_transfer() fi =20 if [ ${stat_synrx_now_l} -lt ${expect_synrx} ]; then - printf "[ FAIL ] lower MPC SYN rx (%d) than expected (%d)\n" \ - "${stat_synrx_now_l}" "${expect_synrx}" + mptcp_lib_pr_fail "lower MPC SYN rx (${stat_synrx_now_l})" \ + "than expected (${expect_synrx})" retc=3D1 fi if [ ${stat_ackrx_now_l} -lt ${expect_ackrx} ] && [ ${stat_ooo_now} -eq 0= ]; then if [ ${stat_ooo_now} -eq 0 ]; then - printf "[ FAIL ] lower MPC ACK rx (%d) than expected (%d)\n" \ - "${stat_ackrx_now_l}" "${expect_ackrx}" + mptcp_lib_pr_fail "lower MPC ACK rx (${stat_ackrx_now_l})" \ + "than expected (${expect_ackrx})" rets=3D1 else printf "[ Note ] fallback due to TCP OoO" @@ -497,13 +497,13 @@ do_transfer() =20 local csum_err_s_nr=3D$((csum_err_s - stat_csum_err_s)) if [ $csum_err_s_nr -gt 0 ]; then - printf "[ FAIL ]\nserver got %d data checksum error[s]" ${csum_err_s_nr} + mptcp_lib_pr_fail "server got ${csum_err_s_nr} data checksum error[s]" rets=3D1 fi =20 local csum_err_c_nr=3D$((csum_err_c - stat_csum_err_c)) if [ $csum_err_c_nr -gt 0 ]; then - printf "[ FAIL ]\nclient got %d data checksum error[s]" ${csum_err_c_nr} + mptcp_lib_pr_fail "client got ${csum_err_c_nr} data checksum error[s]" retc=3D1 fi fi @@ -536,11 +536,11 @@ do_transfer() fi =20 if [ $retc -eq 0 ] && [ $rets -eq 0 ]; then - printf "[ OK ]${extra:1}\n" + mptcp_lib_pr_ok "${extra:1}" mptcp_lib_result_pass "${TEST_GROUP}: ${result_msg}" else if [ -n "${extra}" ]; then - printf "${extra:1}\n" + mptcp_lib_print_warn "${extra:1}" fi mptcp_lib_result_fail "${TEST_GROUP}: ${result_msg}" fi @@ -670,7 +670,7 @@ run_test_transparent() # following function has been exported (T). Not great but better than # checking for a specific kernel version. if ! mptcp_lib_kallsyms_has "T __ip_sock_set_tos$"; then - echo "INFO: ${msg} not supported by the kernel: SKIP" + mptcp_lib_pr_skip "${msg} not supported by the kernel" mptcp_lib_result_skip "${TEST_GROUP}" return fi @@ -687,7 +687,7 @@ table inet mangle { } EOF then - echo "SKIP: $msg, could not load nft ruleset" + mptcp_lib_pr_skip "$msg, could not load nft ruleset" mptcp_lib_fail_if_expected_feature "nft rules" mptcp_lib_result_skip "${TEST_GROUP}" return @@ -703,7 +703,7 @@ EOF =20 if ! ip -net "$listener_ns" $r6flag rule add fwmark 1 lookup 100; then ip netns exec "$listener_ns" nft flush ruleset - echo "SKIP: $msg, ip $r6flag rule failed" + mptcp_lib_pr_skip "$msg, ip $r6flag rule failed" mptcp_lib_fail_if_expected_feature "ip rule" mptcp_lib_result_skip "${TEST_GROUP}" return @@ -712,13 +712,13 @@ EOF if ! ip -net "$listener_ns" route add local $local_addr/0 dev lo table 10= 0; then ip netns exec "$listener_ns" nft flush ruleset ip -net "$listener_ns" $r6flag rule del fwmark 1 lookup 100 - echo "SKIP: $msg, ip route add local $local_addr failed" + mptcp_lib_pr_skip "$msg, ip route add local $local_addr failed" mptcp_lib_fail_if_expected_feature "ip route" mptcp_lib_result_skip "${TEST_GROUP}" return fi =20 - echo "INFO: test $msg" + mptcp_lib_pr_info "test $msg" =20 port_base=3D20000 local extra_args=3D"-o TRANSPARENT" @@ -731,12 +731,12 @@ EOF ip -net "$listener_ns" route del local $local_addr/0 dev lo table 100 =20 if [ $lret -ne 0 ]; then - echo "FAIL: $msg, mptcp connection error" + mptcp_lib_pr_fail "$msg, mptcp connection error" ret=3D$lret return 1 fi =20 - echo "PASS: $msg" + mptcp_lib_pr_info "$msg pass" return 0 } =20 @@ -745,7 +745,7 @@ run_tests_peekmode() local peekmode=3D"$1" =20 TEST_GROUP=3D"peek mode: ${peekmode}" - echo "INFO: with peek mode: ${peekmode}" + mptcp_lib_pr_info "with peek mode: ${peekmode}" run_tests_lo "$ns1" "$ns1" 10.0.1.1 1 "-P ${peekmode}" run_tests_lo "$ns1" "$ns1" dead:beef:1::1 1 "-P ${peekmode}" } @@ -755,12 +755,12 @@ run_tests_mptfo() TEST_GROUP=3D"MPTFO" =20 if ! mptcp_lib_kallsyms_has "mptcp_fastopen_"; then - echo "INFO: TFO not supported by the kernel: SKIP" + mptcp_lib_pr_skip "TFO not supported by the kernel" mptcp_lib_result_skip "${TEST_GROUP}" return fi =20 - echo "INFO: with MPTFO start" + mptcp_lib_pr_info "with MPTFO start" ip netns exec "$ns1" sysctl -q net.ipv4.tcp_fastopen=3D2 ip netns exec "$ns2" sysctl -q net.ipv4.tcp_fastopen=3D1 =20 @@ -772,7 +772,7 @@ run_tests_mptfo() =20 ip netns exec "$ns1" sysctl -q net.ipv4.tcp_fastopen=3D0 ip netns exec "$ns2" sysctl -q net.ipv4.tcp_fastopen=3D0 - echo "INFO: with MPTFO end" + mptcp_lib_pr_info "with MPTFO end" } =20 run_tests_disconnect() @@ -783,7 +783,7 @@ run_tests_disconnect() TEST_GROUP=3D"full disconnect" =20 if ! mptcp_lib_kallsyms_has "mptcp_pm_data_reset$"; then - echo "INFO: Full disconnect not supported: SKIP" + mptcp_lib_pr_skip "Full disconnect not supported" mptcp_lib_result_skip "${TEST_GROUP}" return fi @@ -796,7 +796,7 @@ run_tests_disconnect() cin_disconnect=3D"$old_cin" connect_per_transfer=3D3 =20 - echo "INFO: disconnect" + mptcp_lib_pr_info "disconnect" run_tests_lo "$ns1" "$ns1" 10.0.1.1 1 "-I 3 -i $old_cin" run_tests_lo "$ns1" "$ns1" dead:beef:1::1 1 "-I 3 -i $old_cin" =20 @@ -820,7 +820,7 @@ log_if_error() local msg=3D"$1" =20 if [ ${ret} -ne 0 ]; then - echo "FAIL: ${msg}" + mptcp_lib_pr_fail "${msg}" =20 final_ret=3D${ret} ret=3D0 @@ -867,7 +867,7 @@ done mptcp_lib_result_code "${ret}" "ping tests" =20 stop_if_error "Could not even run ping tests" -echo "[ OK ]" +mptcp_lib_pr_ok =20 [ -n "$tc_loss" ] && tc -net "$ns2" qdisc add dev ns2eth3 root netem loss = random $tc_loss delay ${tc_delay}ms tc_info=3D"loss of $tc_loss " @@ -892,7 +892,7 @@ elif [ "$reorder_delay" -gt 0 ];then tc_info+=3D"$tc_reorder with delay ${reorder_delay}ms " fi =20 -echo "INFO: Using ${tc_info}on ns3eth4" +mptcp_lib_pr_info "Using ${tc_info}on ns3eth4" =20 tc -net "$ns3" qdisc add dev ns3eth4 root netem delay ${reorder_delay}ms $= tc_reorder =20 diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2f34e2b9a1c4..cecf09d14f46 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -185,17 +185,17 @@ print_info() =20 print_ok() { - mptcp_lib_print_ok "[ ok ]${1:+ ${*}}" + mptcp_lib_pr_ok "${@}" } =20 print_fail() { - mptcp_lib_print_err "[fail]${1:+ ${*}}" + mptcp_lib_pr_fail "${@}" } =20 print_skip() { - mptcp_lib_print_warn "[skip]${1:+ ${*}}" + mptcp_lib_pr_skip "${@}" } =20 # [ $1: fail msg ] diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 459e90258f37..1427f89df318 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -50,6 +50,23 @@ mptcp_lib_print_err() { mptcp_lib_print_color "${MPTCP_LIB_COLOR_RED}${*}" } =20 +# shellcheck disable=3DSC2120 # parameters are optional +mptcp_lib_pr_ok() { + mptcp_lib_print_ok "[ OK ]${1:+ ${*}}" +} + +mptcp_lib_pr_skip() { + mptcp_lib_print_warn "[SKIP]${1:+ ${*}}" +} + +mptcp_lib_pr_fail() { + mptcp_lib_print_err "[FAIL]${1:+ ${*}}" +} + +mptcp_lib_pr_info() { + mptcp_lib_print_info "INFO: ${*}" +} + # SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var can be set when validati= ng all # features using the last version of the kernel and the selftests to make = sure # a test is not being skipped by mistake. @@ -80,14 +97,14 @@ mptcp_lib_has_file() { =20 mptcp_lib_check_mptcp() { if ! mptcp_lib_has_file "/proc/sys/net/mptcp/enabled"; then - echo "SKIP: MPTCP support is not available" + mptcp_lib_pr_skip "MPTCP support is not available" exit ${KSFT_SKIP} fi } =20 mptcp_lib_check_kallsyms() { if ! mptcp_lib_has_file "/proc/kallsyms"; then - echo "SKIP: CONFIG_KALLSYMS is missing" + mptcp_lib_pr_skip "CONFIG_KALLSYMS is missing" exit ${KSFT_SKIP} fi } @@ -294,7 +311,7 @@ mptcp_lib_check_transfer() { local what=3D"${3}" =20 if ! cmp "$in" "$out" > /dev/null 2>&1; then - echo "[ FAIL ] $what does not match (in, out):" + mptcp_lib_pr_fail "$what does not match (in, out):" mptcp_lib_print_file_err "$in" mptcp_lib_print_file_err "$out" =20 @@ -329,24 +346,24 @@ mptcp_lib_check_tools() { case "${tool}" in "ip") if ! ip -Version &> /dev/null; then - mptcp_lib_print_warn "SKIP: Could not run test without ip tool" + mptcp_lib_pr_skip "Could not run test without ip tool" exit ${KSFT_SKIP} fi ;; "ss") if ! ss -h | grep -q MPTCP; then - mptcp_lib_print_warn "SKIP: ss tool does not support MPTCP" + mptcp_lib_pr_skip "ss tool does not support MPTCP" exit ${KSFT_SKIP} fi ;; "iptables"* | "ip6tables"*) if ! "${tool}" -V &> /dev/null; then - mptcp_lib_print_warn "SKIP: Could not run all tests without ${tool}" + mptcp_lib_pr_skip "Could not run all tests without ${tool}" exit ${KSFT_SKIP} fi ;; *) - mptcp_lib_print_err "Internal error: unsupported tool: ${tool}" + mptcp_lib_pr_fail "Internal error: unsupported tool: ${tool}" exit ${KSFT_FAIL} ;; esac @@ -365,13 +382,13 @@ mptcp_lib_check_output() { fi =20 if [ ${cmd_ret} -ne 0 ]; then - mptcp_lib_print_err "[FAIL] command execution '${cmd}' stderr" + mptcp_lib_pr_fail "command execution '${cmd}' stderr" cat "${err}" return 2 elif [ "${out}" =3D "${expected}" ]; then return 0 else - mptcp_lib_print_err "[FAIL] expected '${expected}' got '${out}'" + mptcp_lib_pr_fail "expected '${expected}' got '${out}'" return 1 fi } diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 466800326cbb..22c185124328 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -103,8 +103,8 @@ check_mark() local v for v in $values; do if [ $v -ne 0 ]; then - echo "FAIL: got $tables $values in ns $ns," \ - "not 0 - not all expected packets marked" + mptcp_lib_pr_fail "got $tables $values in ns $ns," \ + "not 0 - not all expected packets marked" ret=3D1 return 1 fi @@ -164,7 +164,7 @@ do_transfer() =20 mptcp_lib_print_title "Transfer ${ip:2}" if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then - echo "[FAIL] client exit code $retc, server $rets" + 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 =3D :$port" =20 @@ -179,7 +179,7 @@ do_transfer() if ! mptcp_lib_check_transfer $cin $sout "file received by server"; then rets=3D1 else - echo "[ OK ]" + mptcp_lib_pr_ok fi mptcp_lib_result_code "${rets}" "transfer ${ip}" =20 @@ -195,10 +195,10 @@ do_transfer() mptcp_lib_result_code "${retc}" "mark ${ip}" =20 if [ $retc -eq 0 ] && [ $rets -eq 0 ];then - echo "[ OK ]" + mptcp_lib_pr_ok return 0 fi - echo "[FAIL]" + mptcp_lib_pr_fail =20 return 1 } @@ -219,7 +219,7 @@ do_mptcp_sockopt_tests() local lret=3D0 =20 if ! mptcp_lib_kallsyms_has "mptcp_diag_fill_info$"; then - echo "INFO: MPTCP sockopt not supported: SKIP" + mptcp_lib_pr_skip "MPTCP sockopt not supported" mptcp_lib_result_skip "sockopt" return fi @@ -229,12 +229,12 @@ do_mptcp_sockopt_tests() =20 mptcp_lib_print_title "SOL_MPTCP sockopt v4" if [ $lret -ne 0 ]; then - echo "[FAIL]" + mptcp_lib_pr_fail mptcp_lib_result_fail "sockopt v4" ret=3D$lret return fi - echo "[ OK ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "sockopt v4" =20 ip netns exec "$ns_sbox" ./mptcp_sockopt -6 @@ -242,12 +242,12 @@ do_mptcp_sockopt_tests() =20 mptcp_lib_print_title "SOL_MPTCP sockopt v6" if [ $lret -ne 0 ]; then - echo "[FAIL]" + mptcp_lib_pr_fail mptcp_lib_result_fail "sockopt v6" ret=3D$lret return fi - echo "[ OK ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "sockopt v6" } =20 @@ -275,12 +275,12 @@ do_tcpinq_test() local lret=3D$? if [ $lret -ne 0 ];then ret=3D$lret - echo "[FAIL]" + mptcp_lib_pr_fail mptcp_lib_result_fail "TCP_INQ: $*" return $lret fi =20 - echo "[ OK ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "TCP_INQ: $*" return $lret } @@ -290,7 +290,7 @@ do_tcpinq_tests() local lret=3D0 =20 if ! mptcp_lib_kallsyms_has "mptcp_ioctl$"; then - echo "INFO: TCP_INQ not supported: SKIP" + mptcp_lib_pr_skip "TCP_INQ not supported" mptcp_lib_result_skip "TCP_INQ" return fi diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 5b9bc25dfef4..69ffff8b076b 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -190,7 +190,7 @@ else for st in fullmesh nofullmesh backup,fullmesh; do st=3D" (${st})" mptcp_lib_print_title "${st}" - echo "[SKIP]" + mptcp_lib_pr_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 03fd08e8e044..4ee18406ee50 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -187,12 +187,12 @@ do_transfer() printf "%-16s" " max $max_time " if [ $retc -eq 0 ] && [ $rets -eq 0 ] && \ [ $cmpc -eq 0 ] && [ $cmps -eq 0 ]; then - echo "[ OK ]" + mptcp_lib_pr_ok cat "$capout" return 0 fi =20 - echo " [ fail ]" + mptcp_lib_pr_fail echo "client exit code $retc, server $rets" 1>&2 echo -e "\nnetns ${ns3} socket stat for $port:" 1>&2 ip netns exec ${ns3} ss -nita 1>&2 -o "sport =3D :$port" diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index ca238592baee..9fc9e574bc27 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -57,13 +57,9 @@ 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 "${@}" -} - print_title() { - _printf "INFO: %s\n" "${1}" + mptcp_lib_pr_info "${1}" } =20 # $1: test name @@ -74,33 +70,23 @@ print_test() mptcp_lib_print_title "${test_name}" } =20 -print_results() -{ - _printf "[%s]\n" "${1}" -} - test_pass() { - print_results " OK " + mptcp_lib_pr_ok mptcp_lib_result_pass "${test_name}" } =20 test_skip() { - print_results "SKIP" + mptcp_lib_pr_skip mptcp_lib_result_skip "${test_name}" } =20 # $1: msg test_fail() { - print_results "FAIL" + mptcp_lib_pr_fail "${@}" ret=3D1 - - if [ -n "${1}" ]; then - _printf "\t%s\n" "${1}" - fi - mptcp_lib_result_fail "${test_name}" } =20 @@ -122,7 +108,7 @@ cleanup() =20 rm -rf $file $client_evts $server_evts =20 - _printf "Done\n" + mptcp_lib_pr_info "Done" } =20 trap cleanup EXIT --=20 2.40.1