From nobody Sun May 19 15:05:12 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 7A6C524B2C for ; Wed, 28 Feb 2024 07:43:56 +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=1709106236; cv=none; b=IVNRLx8y0Aw0Lkaq90hW8rpCvHv5AQwfm0nMKz4VLWvCWwCl31nhk0+I4NFZyASXNdTo4hwqfthCYHNBgsV4pxp53tkqv2Y36tdp61ub5mNaD1hFhZSJIl/Fm+YywhQzWpQeCZP60Ott53y1YduUWb+lT4JsrNBxT0DQ56sIkVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106236; c=relaxed/simple; bh=KvdVpJrkwsH7Z86TuLA9FGLtQ28ntaHyvlreTJewkDU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=a/2mLN5C+d/k74fDuVm9OeAtzRk5d4CXkau3NMMdU9A6lDhoBTWD4VIKPSZEq6o8lXO3r6Ns7hvGxSxEo3X2r70wxRjJs/BIio7A0c8WOj7D44gsQSf8x/UJKz+LrWzfeDL5RxRa/Qukt+mSDkY1ad4D8ZXA2ItAFCZjti0hTng= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ukoy+mnV; 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="Ukoy+mnV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27853C433C7; Wed, 28 Feb 2024 07:43:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106236; bh=KvdVpJrkwsH7Z86TuLA9FGLtQ28ntaHyvlreTJewkDU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ukoy+mnVFXjFH70KmqkYG/9Cz2yK996KRqQqbUP8iFH8DHqc2Nf1+rBKn8XDjKf5P gy/OKZfZ6lySFtMN7+d6LxjPszzfy2a9dRtI9nJYJ28og8zRjQxTHuBFoO/H0h76b0 ptmYBraKGXQGpO9AQf/nrsiUV2t0+0GU3vL1uvikj5H6aA5XYui7VOt1uVbghdVuUP 00mIQKPCX9TOPteR9ftqAvctypBfkbiTQiCm5mGikfLpBIGxiK91pA1djoEjrzo7cl HBJCOarjM1FPN3RjSEgZ9kzS2TK9y7/ptkXVKpwm3eZI11hqgyEkWYX7QpKzs4YyI8 AhIvodEvgLFGw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 1/9] selftests: mptcp: add mptcp_lib_pr_ok/skip/fail/info Date: Wed, 28 Feb 2024 15:43:39 +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 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 mptcp_join.sh and userspace_pm.sh first, and then use them in all scripts in the next commit. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 6 ++--- .../testing/selftests/net/mptcp/mptcp_lib.sh | 23 +++++++++++++++++++ .../selftests/net/mptcp/userspace_pm.sh | 13 ++++------- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 1df2d24979a0..53d51a5f68f9 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -190,17 +190,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 763a2989ca6d..3f5b16fe5220 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -48,6 +48,29 @@ mptcp_lib_print_err() { mptcp_lib_print_color "${MPTCP_LIB_COLOR_RED}${*}" } =20 +mptcp_lib_pr_ok() { + mptcp_lib_print_ok "[ OK ]" +} + +mptcp_lib_pr_skip() { + local msg=3D"[SKIP]" + + mptcp_lib_print_warn "${msg}" +} + +mptcp_lib_pr_fail() { + local msg=3D"[FAIL]" + + if [ "${#}" -gt 0 ]; then + msg+=3D"${1:+ ${*}}" + fi + mptcp_lib_print_err "${msg}" +} + +mptcp_lib_pr_info() { + mptcp_lib_print_info "INFO:${1:+ ${*}}" +} + # 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. diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index b0cce8f065d8..5f32ac451596 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -61,7 +61,7 @@ _printf() { =20 print_title() { - _printf "INFO: %s\n" "${1}" + mptcp_lib_print_info "INFO: ${1}" } =20 # $1: test name @@ -72,27 +72,22 @@ print_test() _printf "%-68s" "${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 "${1:+ ${*}}" ret=3D1 =20 if [ -n "${1}" ]; then --=20 2.40.1 From nobody Sun May 19 15:05:12 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 C9561250F6 for ; Wed, 28 Feb 2024 07:43:58 +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=1709106238; cv=none; b=Zm/fF5DmmACoCXqB6D3H+XquqptWd77YxtaqireWjjE9u+3emMryFL7EAuvcGfCrP0OSmFfsbWNghh5UDfuLpFrt5EJ6m6xb97exWvIlTVW0NvSQJgTeDlthxtMPZErULLA0IPOR56FU4r3XlvRApBsjFRN7AL5FP7qj9QKOmak= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106238; c=relaxed/simple; bh=DEHNed5ubF2UfhRx6iZwcexnQosQPOVR4yfe92dSPV4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=KPW0GiIY/RYLpbvCxpZT0C7rXrZis9LolmfXu70bIuqawFhr3RpcF1BBUOsWa8F73RDSjXKodhOJRa2ZyBw4+dNj/PXWiRBGTQEclPELOswfZSB2GGR7Lno9S+KnmZLd3KkCHdqQ794qiksDg43H8u4LQdTDnL3OLqI69Zwg2qQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fq3Z3JGK; 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="fq3Z3JGK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02FA0C433F1; Wed, 28 Feb 2024 07:43:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106238; bh=DEHNed5ubF2UfhRx6iZwcexnQosQPOVR4yfe92dSPV4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fq3Z3JGKJyIAcmADXI+T21uJHeKGRuueVv4v7BkEVOYIxuS41zOC6tFXBT8s7TPdQ 4L5nVUkH90r+1EzLjtQ4qc4NgUGHJb3PAjGep79CjMxoLVj/DBpe0ZsKiBaQlg1TW2 xpX5ryHy4JRe5PGcJmlINsOXUfMRbJky4sQMHmTjWIKkVWXuxi59mtbXk35FSARr3y Gd1bvBbeh+VouhG1QCfy6l+3oxE+7brgF7+nWCy4+bLmmDx8pJlVS+okXWgRv9wSCJ 4jKchfIEmFY7zqDo7GEpF32OUJJNqPY31FF9VNeY09mKz6ldlWT3RR77ADY5O33fD6 C4+p0ZeUNoUOA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 2/9] selftests: mptcp: print test results with colors Date: Wed, 28 Feb 2024 15:43:40 +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 mptcp_lib_pr_ok(), mptcp_lib_pr_skip(), mptcp_lib_pr_fail() and mptcp_lib_pr_info() helpers in all scripts to print test results with colors. Having colors helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- Notes: use mptcp_lib_pr_* helpers, not mptcp_lib_print_* helpers tools/testing/selftests/net/mptcp/diag.sh | 12 ++-- .../selftests/net/mptcp/mptcp_connect.sh | 58 +++++++++---------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 21 ++++--- .../selftests/net/mptcp/mptcp_sockopt.sh | 19 +++--- .../testing/selftests/net/mptcp/pm_netlink.sh | 3 +- .../selftests/net/mptcp/simult_flows.sh | 4 +- 6 files changed, 61 insertions(+), 56 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index d8f080f934ac..7830bc043d52 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -58,15 +58,15 @@ __chk_nr() printf "%-50s" "$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$test_cnt fi else - echo "[ ok ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "${msg}" fi test_cnt=3D$((test_cnt+1)) @@ -116,15 +116,15 @@ wait_msk_nr() =20 printf "%-50s" "$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$test_cnt 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$test_cnt else - echo "[ ok ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "${msg}" fi test_cnt=3D$((test_cnt+1)) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 0ca2960c9099..ffc063a58149 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 @@ -254,7 +254,7 @@ check_mptcp_disabled() =20 # 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 @@ -267,13 +267,14 @@ 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 -e "New MPTCP socket can be blocked via sysctl\t\t[ OK ]" + echo -n -e "New MPTCP socket can be blocked via sysctl\t\t" + mptcp_lib_pr_ok mptcp_lib_result_pass "New MPTCP socket can be blocked via sysctl" return 0 } @@ -294,7 +295,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 + mptcp_lib_pr_fail "$listener_ns -> $connect_addr connectivity" 1>&2 ret=3D1 =20 return 1 @@ -330,7 +331,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 @@ -427,7 +428,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" 1>&2 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 @@ -469,13 +470,13 @@ do_transfer() fi =20 if [ ${stat_synrx_now_l} -lt ${expect_synrx} ]; then - printf "[ FAIL ] lower MPC SYN rx (%d) than expected (%d)\n" \ + mptcp_lib_pr_fail "lower MPC SYN rx (%d) than expected (%d)\n" \ "${stat_synrx_now_l}" "${expect_synrx}" 1>&2 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" \ + mptcp_lib_pr_fail "lower MPC ACK rx (%d) than expected (%d)\n" \ "${stat_ackrx_now_l}" "${expect_ackrx}" 1>&2 rets=3D1 else @@ -491,19 +492,19 @@ 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 "\nserver got %d data checksum error[s]" ${csum_err_s= _nr} 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 "\nclient got %d data checksum error[s]" ${csum_err_c= _nr} retc=3D1 fi fi =20 if [ $retc -eq 0 ] && [ $rets -eq 0 ]; then - printf "[ OK ]" + mptcp_lib_pr_ok mptcp_lib_result_pass "${TEST_GROUP}: ${result_msg}" else mptcp_lib_result_fail "${TEST_GROUP}: ${result_msg}" @@ -534,7 +535,6 @@ do_transfer() "${expect_ackrx}" "${stat_ackrx_now_l}" fi =20 - echo cat "$capout" [ $retc -eq 0 ] && [ $rets -eq 0 ] } @@ -660,7 +660,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 "INFO: ${msg} not supported by the kernel" mptcp_lib_result_skip "${TEST_GROUP}" return fi @@ -677,7 +677,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 @@ -693,7 +693,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 @@ -702,13 +702,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 TEST_COUNT=3D10000 local extra_args=3D"-o TRANSPARENT" @@ -721,12 +721,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" 1>&2 + mptcp_lib_pr_fail "$msg, mptcp connection error" 1>&2 ret=3D$lret return 1 fi =20 - echo "PASS: $msg" + mptcp_lib_pr_info "PASS: $msg" return 0 } =20 @@ -735,7 +735,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}" } @@ -745,12 +745,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 @@ -762,7 +762,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() @@ -773,7 +773,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 @@ -786,7 +786,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 @@ -810,7 +810,7 @@ log_if_error() local msg=3D"$1" =20 if [ ${ret} -ne 0 ]; then - echo "FAIL: ${msg}" 1>&2 + mptcp_lib_pr_fail "${msg}" 1>&2 =20 final_ret=3D${ret} ret=3D0 @@ -835,7 +835,7 @@ check_mptcp_disabled =20 stop_if_error "The kernel configuration is not valid for MPTCP" =20 -echo "INFO: validating network environment with pings" +mptcp_lib_pr_info "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 @@ -859,7 +859,7 @@ mptcp_lib_result_code "${ret}" "ping tests" stop_if_error "Could not even run ping tests" =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 " +mptcp_lib_pr_info "Using loss of $tc_loss " test "$tc_delay" -gt 0 && echo -n "delay $tc_delay ms " =20 reorder_delay=3D$((tc_delay / 4)) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 3f5b16fe5220..58fe4dad9d9d 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -55,6 +55,9 @@ mptcp_lib_pr_ok() { mptcp_lib_pr_skip() { local msg=3D"[SKIP]" =20 + if [ "${#}" -gt 0 ]; then + msg+=3D"${1:+ ${*}}" + fi mptcp_lib_print_warn "${msg}" } =20 @@ -101,14 +104,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 } @@ -315,7 +318,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 @@ -350,24 +353,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 @@ -386,13 +389,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 6ed4aa32222f..ccc941e1e7bb 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 + mptcp_lib_pr_fail "got $tables $values in ns $ns, \ +not 0 - not all expected packets marked" 1>&2 ret=3D1 return 1 fi @@ -212,7 +213,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 "INFO: MPTCP sockopt not supported" mptcp_lib_result_skip "sockopt" return fi @@ -221,7 +222,7 @@ do_mptcp_sockopt_tests() lret=3D$? =20 if [ $lret -ne 0 ]; then - echo "FAIL: SOL_MPTCP getsockopt" 1>&2 + mptcp_lib_pr_fail "SOL_MPTCP getsockopt" 1>&2 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 + mptcp_lib_pr_fail "SOL_MPTCP getsockopt (ipv6)" 1>&2 mptcp_lib_result_fail "sockopt v6" ret=3D$lret return @@ -263,12 +264,12 @@ do_tcpinq_test() local lret=3D$? if [ $lret -ne 0 ];then ret=3D$lret - echo "FAIL: mptcp_inq $*" 1>&2 + mptcp_lib_pr_fail "mptcp_inq $*" 1>&2 mptcp_lib_result_fail "TCP_INQ: $*" return $lret fi =20 - echo "PASS: TCP_INQ cmsg/ioctl $*" + mptcp_lib_pr_info "PASS: TCP_INQ cmsg/ioctl $*" mptcp_lib_result_pass "TCP_INQ: $*" return $lret } @@ -278,7 +279,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 "INFO: TCP_INQ not supported" mptcp_lib_result_skip "TCP_INQ" return fi @@ -315,12 +316,12 @@ 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" + mptcp_lib_pr_info "PASS: all packets had packet mark set" fi =20 do_mptcp_sockopt_tests if [ $ret -eq 0 ];then - echo "PASS: SOL_MPTCP getsockopt has expected information" + mptcp_lib_pr_info "PASS: SOL_MPTCP getsockopt has expected information" fi =20 do_tcpinq_tests diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 427fc5c70b3c..ffa79df99d38 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -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]" + printf "%-50s" "${st}" + 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 467feb17e07b..af6d9a81c317 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" --=20 2.40.1 From nobody Sun May 19 15:05:12 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 1B65D24B41 for ; Wed, 28 Feb 2024 07:44:00 +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=1709106240; cv=none; b=Pr9G6pJDFwHRR2CbYYn5jbDTJw1Us31MvEezeEWnCKX/IAPlyhq5E7AWh2KxwMApJ9fKNh0GQt2PvIF8vPdsYTbkl/tMgjJENPagsIA4CKRzHt8SArHZGFYlHak6DW6nDLjKpubjwZ+ENbc9ChkdeKMHJEtM9y1Tcp2LI7BJveo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106240; c=relaxed/simple; bh=Z51yRIABGTfUkt1M9YB3gD+Uclr1/LOsXtWjkc6ddDw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=osg4nStw23MR7ZjOIaPPxCSY5DO+QwGeaBHLmZsCMyemjf4dgTmxVO7RJ6AALEdvXn0SUt7E6P3hLnLBsqZvg2rp5B/XcDShYrIxCyQguKPyZWSwWl74dMmH1nIjUJz4BlJTZyr3KZDb68WzTyZR8iLj021/QfiNLfk9tuMdk8s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sgQvW13z; 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="sgQvW13z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0CED7C433C7; Wed, 28 Feb 2024 07:43:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106240; bh=Z51yRIABGTfUkt1M9YB3gD+Uclr1/LOsXtWjkc6ddDw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sgQvW13zOzKKRNyx55lXSYHNKsCrj5b56u/A4X12OvBK0RQ7NgjQwXNyiCtr1w8bG qYfy7oI89cg3n2LqjMLqjdcgyGv7m+VbaLYsQFv+N62qefXlWscwghR8Bmm6VLVCqT JxbLOndWUQhTQ8+OLBrJgaaOFoRhZNJ/6C02Hu+jDEDdoWQgYvgK9eTU0L4m80TT96 eBwEP8KZYubilEoP+xX4Kl1ABhj2HQUOj3FJW/ZzAeLuxs5aKUNi9Nfr3xbt0qhpEB 6P5FJG+20YrokvY5eN++YeJq3vwciaRL1isPBf534CnMFk+NP/trMsFUGHT8ipKQsR kXyWqbMxmokmQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 3/9] selftests: mptcp: connect: fix misaligned output Date: Wed, 28 Feb 2024 15:43:41 +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 The first [ OK ] and [FAIL] in the output of mptcp_connect.sh misalign 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 the newly added print_title() helper. Signed-off-by: Geliang Tang --- Notes: add print_title helper tools/testing/selftests/net/mptcp/mptcp_connect.sh | 12 ++++++++++-- 1 file changed, 10 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 ffc063a58149..7a53c8fb1783 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -247,11 +247,20 @@ else set_ethtool_flags "$ns4" ns4eth3 "$ethtool_args" fi =20 +print_title() +{ + local msg=3D"${1}" + local nr_blank=3D"${2-50}" + + printf "%-${nr_blank}s" "${msg}" +} + check_mptcp_disabled() { local disabled_ns mptcp_lib_ns_init disabled_ns =20 + print_title "New MPTCP socket can be blocked via sysctl" 69 # 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 mptcp_lib_pr_fail "net.mptcp.enabled sysctl is not 1 by default" @@ -273,7 +282,6 @@ check_mptcp_disabled() return 1 fi =20 - echo -n -e "New MPTCP socket can be blocked via sysctl\t\t" mptcp_lib_pr_ok mptcp_lib_result_pass "New MPTCP socket can be blocked via sysctl" return 0 @@ -343,7 +351,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}" + print_title "${result_msg}" =20 if $capture; then local capuser --=20 2.40.1 From nobody Sun May 19 15:05:12 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 0CE3A24B2C for ; Wed, 28 Feb 2024 07:44:01 +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=1709106242; cv=none; b=ot9sCcElhlZzlHjLpxlDg6IAifFX2ZzsSXYn2Gh3Re8CHyjQ5T4BMRpk5WL3qSubHyhldQDJNuLq2fuDsqL5eC2G6S7AIlXVHVVEptSUt0FiQHlYExBvt7h95l65hA/3Lqa/SvkRkgthPWbtEn4KPUHmqgO2qLkwvTC6zEVeX6M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106242; c=relaxed/simple; bh=b5jCspjERldTCq7YMxgEfz+DX416x+Zk3gB9G/vc18Q=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=bv4yfpqbH04A2ybS8W3lqBV4CfZYj42C1Tv58T8BFJU3tw5RT1mybV2bQJQAf2u3o1a4rFxOyNJCvNKeYRRuzhWzUJi0ZE6M2oNUhjC1RDzZY7jpHdiduBF498gu+gHsUvt31qehAarZArASEDT6HaKL5fxyOtwdLRpt1tUQESg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TfboXAhl; 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="TfboXAhl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 92465C433C7; Wed, 28 Feb 2024 07:44:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106241; bh=b5jCspjERldTCq7YMxgEfz+DX416x+Zk3gB9G/vc18Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TfboXAhlDC0Vu/WZEOGANWtAghxwespFvT4pe771HkcRVzrEOaG+crH8Vufwt34Yi Vh7VXYF7qucuQYwX3XvYncFc0UdhPtQ55KJHuaIAeMhTsFc5S30KrQKh39QhMWznY7 VMMMEct4oGTyoCDEZHAz498nP9jYTeoTTe+e9z8sWyqirW6wGUrYpw1KAhd8UACjln 262Hd60nFDlySuzR4tHvTtMjItbrfgSW8sXBWIqntEhrrLQuUcb6CjNatinK3kxyJJ WeUz0W9fsH2+KXjiutbeBdTFBr5VaF+RMIqCAh93EzpmxxQEh3eqGKWfcpV2oWEcu2 wXT/JMwCkmHvQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 4/9] selftests: mptcp: simult_flows: fix misaligned output Date: Wed, 28 Feb 2024 15:43:42 +0800 Message-Id: <0d087d6856e7919af1f3303669468bd8bcc45778.1709105922.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 last line in the output of simult_flows.sh misaligns with the other lines, and all lines are over maximum 75 chars per line. This patch aligns them by using the newly added print_title() helper, and truncate them within 75 chars per line. The new output looks like this: balanced bwidth 7395 max 7906 [ OK ] balanced bwidth - reverse direction 7484 max 7906 [ OK ] balanced bwidth with unbalanced delay 7394 max 7906 [ OK ] balanced bwidth with unbalanced delay - reverse direct 7399 max 7906 [ OK ] unbalanced bwidth 7692 max 7906 [ OK ] unbalanced bwidth - reverse direction 7614 max 7906 [ OK ] unbalanced bwidth with unbalanced delay 7425 max 7906 [ OK ] unbalanced bwidth with unbalanced delay - reverse dire 7473 max 7906 [ OK ] unbalanced bwidth with opposed, unbalanced delay 7639 max 7906 [ OK ] unbalanced bwidth with opposed, unbalanced delay - rev 7611 max 7906 [ OK ] Signed-off-by: Geliang Tang --- Notes: add print_title helper tools/testing/selftests/net/mptcp/simult_flows.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index af6d9a81c317..4aa0f95ae11f 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -184,7 +184,7 @@ do_transfer() cmp $cin $sout > /dev/null 2>&1 local cmpc=3D$? =20 - printf "%-16s" " max $max_time " + printf "%-10s" " max $max_time " if [ $retc -eq 0 ] && [ $rets -eq 0 ] && \ [ $cmpc -eq 0 ] && [ $cmps -eq 0 ]; then mptcp_lib_pr_ok @@ -205,6 +205,11 @@ do_transfer() return 1 } =20 +print_title() +{ + printf "%-55s" "${@}" +} + run_test() { local rate1=3D$1 @@ -239,7 +244,7 @@ run_test() # completion (see mptcp_connect): 200ms on each side, add some slack time=3D$((time + 400 + slack)) =20 - printf "%-60s" "$msg" + print_title "$msg" do_transfer $small $large $time lret=3D$? mptcp_lib_result_code "${lret}" "${msg}" @@ -248,8 +253,8 @@ run_test() [ $bail -eq 0 ] || exit $ret fi =20 - msg+=3D" - reverse direction" - printf "%-60s" "${msg}" + msg=3D$(echo -n "${msg} - reverse direction" | cut -c1-54) + print_title "${msg}" do_transfer $large $small $time lret=3D$? mptcp_lib_result_code "${lret}" "${msg}" --=20 2.40.1 From nobody Sun May 19 15:05:12 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 B58EC24B2C for ; Wed, 28 Feb 2024 07:44:03 +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=1709106243; cv=none; b=L0GmQu9GEIhVAVzYE+uAE1fydFtZppEObouXDUUB+czr5eIQEJwOwfm4HDOz6WFn0M14wg5Nlpp1qCa/+s6At/Dn+QVyVxXDhH8gJdargDTLuivLiK15DWRaSVz4PDHvV+nxuJYyMowrpGzEu1dDGxDvVrwm9DL+CRukNg3inuU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106243; c=relaxed/simple; bh=W1H8yVWw9eh/R3qnrPrQbj9dOYNB0GwWBTYOihO2iUY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=lpOIYbOEHDmfAwD7m7S1YKNRV3Sd7nU8udSMJxurv3zGDtNzy8OhtnzZoIL4iAEl59WAgNXCvgP5OpgaSs7VhBZu5m62EMJC0Hc2C3s/tWLPfzOHbiV+0ZOG6/2vI5HMRxWlNNShFCllRaKADir6GLANKSFXtxOBEannTHCjvTU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IpbY4HAO; 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="IpbY4HAO" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3AD9EC43390; Wed, 28 Feb 2024 07:44:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106243; bh=W1H8yVWw9eh/R3qnrPrQbj9dOYNB0GwWBTYOihO2iUY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IpbY4HAOckKOthDOHOIsMq1feQ6bPB2ZyhJMU1FjcDhpogDzjJVWpoXmwDxH8AAdL 4/5ylNAip4mA8LME2PZY9JBd8BlSSYaoC4o6Y9thjUWHWJMuzqzls2juM3wRUOkXAu uBVZ6o5hFIKOmtGQfMG9QofiQUCH+zvsjXY3mpr7gWeHzIcDI4KmGq9k+rZCKDQd4a DQv0UisvF3/I75NPmzehY13h/DSd3hHXfwAnPkOLbtOb8l/Cr3cEqpQw8WYg1EFLfy MsqYTn/651Zy8eV3OwibwPMO0BMv5DpcSKctkR9QupXpPN4lWBXD0ZbkiBQwTFl7K3 kBGumO7xxMIBg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 5/9] selftests: mptcp: sockopt: print every test result Date: Wed, 28 Feb 2024 15:43:43 +0800 Message-Id: <51944c2c405df17d101f0103a3640daaf5c3f885.1709105922.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: INFO: PASS: all packets had packet mark set INFO: PASS: SOL_MPTCP getsockopt has expected information INFO: PASS: TCP_INQ cmsg/ioctl -t tcp INFO: PASS: TCP_INQ cmsg/ioctl -6 -t tcp INFO: PASS: TCP_INQ cmsg/ioctl -r tcp INFO: PASS: TCP_INQ cmsg/ioctl -6 -r tcp INFO: 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 This patch prints more info for every test result in each test group to match with the test results: Transfer ipv4 [ OK ] Mark ipv4 [ OK ] Transfer ipv6 [ OK ] Mark ipv6 [ OK ] INFO: PASS: all packets had packet mark set SOL_MPTCP sockopt v4 [ OK ] SOL_MPTCP sockopt v6 [ OK ] INFO: PASS: SOL_MPTCP getsockopt has expected information TCP_INQ: -t tcp [ OK ] INFO: PASS: TCP_INQ cmsg/ioctl -t tcp TCP_INQ: -6 -t tcp [ OK ] INFO: PASS: TCP_INQ cmsg/ioctl -6 -t tcp TCP_INQ: -r tcp [ OK ] INFO: PASS: TCP_INQ cmsg/ioctl -r tcp TCP_INQ: -6 -r tcp [ OK ] INFO: PASS: TCP_INQ cmsg/ioctl -6 -r tcp TCP_INQ: -r tcp -t tcp [ OK ] INFO: PASS: TCP_INQ cmsg/ioctl -r tcp -t tcp Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_sockopt.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index ccc941e1e7bb..c2aeb722a97e 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -113,6 +113,11 @@ not 0 - not all expected packets marked" 1>&2 return 0 } =20 +print_title() +{ + printf "%-50s" "${@}" +} + do_transfer() { local listener_ns=3D"$1" @@ -162,6 +167,7 @@ do_transfer() wait $spid local rets=3D$? =20 + print_title "Transfer ${ip}" 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 @@ -175,7 +181,9 @@ do_transfer() ret=3D1 return 1 fi + mptcp_lib_pr_ok =20 + print_title "Mark ${ip}" if [ $local_addr =3D "::" ];then check_mark $listener_ns 6 || retc=3D1 check_mark $connector_ns 6 || retc=3D1 @@ -191,8 +199,10 @@ do_transfer() mptcp_lib_result_code "${rets}" "transfer ${ip}" =20 if [ $retc -eq 0 ] && [ $rets -eq 0 ];then + mptcp_lib_pr_ok return 0 fi + mptcp_lib_pr_fail "Mark ${ip}" =20 return 1 } @@ -221,23 +231,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 mptcp_lib_pr_fail "SOL_MPTCP getsockopt" 1>&2 mptcp_lib_result_fail "sockopt v4" ret=3D$lret return fi + mptcp_lib_pr_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 mptcp_lib_pr_fail "SOL_MPTCP getsockopt (ipv6)" 1>&2 mptcp_lib_result_fail "sockopt v6" ret=3D$lret return fi + mptcp_lib_pr_ok mptcp_lib_result_pass "sockopt v6" } =20 @@ -260,6 +274,7 @@ run_tests() =20 do_tcpinq_test() { + print_title "TCP_INQ: $*" ip netns exec "$ns_sbox" ./mptcp_inq "$@" local lret=3D$? if [ $lret -ne 0 ];then @@ -268,6 +283,7 @@ do_tcpinq_test() mptcp_lib_result_fail "TCP_INQ: $*" return $lret fi + mptcp_lib_pr_ok =20 mptcp_lib_pr_info "PASS: TCP_INQ cmsg/ioctl $*" mptcp_lib_result_pass "TCP_INQ: $*" --=20 2.40.1 From nobody Sun May 19 15:05:12 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 8A98B24B2C for ; Wed, 28 Feb 2024 07:44:05 +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=1709106245; cv=none; b=qRMXXDPTKso2AxTFEEu6FXsIIsJs4tViFenC2v/BHuHWTbKs/x3yd1vi+2M2WoXRB3WkfJCtOW7HbEpgmfrkWrDRptWAbaeQ8hHmgFovXWeHo+1a03J1PmcBor1zlwhM2mv8R9oE+GQ+CsoJhbQeVIbX++HDanc4kx5sY/TD1fo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106245; c=relaxed/simple; bh=886+e47bbUyaw/189SA11DaJFfcoFQ4xadXS3gs+tzs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=N28n2NPhxI0RgkYo5K5UYmn9fhbM0X5gUkdwkqQv9XSzzapjIdSf03/QHnVCRQZkUcoSktz3Mp3gx3x4DFVZYxSPVrwHy2fgT++dyTwR7cLNu/flsBrPbs1ZWSbxpAA97FHxQkTWfqG1/igTx8u3xhOAM2sioC0wh66MDC+7ZVc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TKFJMaKw; 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="TKFJMaKw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EC459C433F1; Wed, 28 Feb 2024 07:44:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106245; bh=886+e47bbUyaw/189SA11DaJFfcoFQ4xadXS3gs+tzs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TKFJMaKwf0dC6XkxyVc5GKC/HmIG5cjICVAF8Ugr3pQ2yRpXoREK5Vk/omtM7W+gL 9hzlPWvPUsd/xEyfdFGqEv9z98aXdp9QJuSPBYHqTcgg4iUriTOcWLvk5RcDZyIvns GLRSXc7JFnTvXYQ47UdmsRxrYAwXapZ/mKsxTE4CW0H1J6LiftHkkFgTSHqbxcvwn+ 9AeNc3Tsn2tea1LpllOXLs6yP2CThjsvExwDfImx7KMGX8WE6svoCGyahWOGhJs/EE 7Z/3p+ZqoMfmVBoq8Ux18Q9Ay2X2YbmM1JlCnnYrtxFKW5pCOds7QxHA71BW+KteJR JVxqPGilRAGmg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 6/9] selftests: mptcp: connect: print out ping tests info Date: Wed, 28 Feb 2024 15:43:44 +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 'ping tests' shows in the test results of mptcp_connect.sh: 1..68 ok 1 - mptcp_connect: New MPTCP socket can be blocked via sysctl ok 2 - mptcp_connect: ping tests ok 3 - mptcp_connect: loopback v4: ns1 MPTCP -> ns1 (10.0.1.1:10000) MPTCP ok 4 - mptcp_connect: loopback v4: ns1 MPTCP -> ns1 (10.0.1.1:10001) TCP But not in the test output of this script: New MPTCP socket can be blocked via sysctl [ OK ] INFO: validating network environment with pings INFO: Using loss of 0.01% delay 30 ms reorder 94% 9% with delay 7ms on ns1 MPTCP -> ns1 (10.0.1.1:10000 ) MPTCP (duration 79ms) [ OK ] ns1 MPTCP -> ns1 (10.0.1.1:10001 ) TCP (duration 49ms) [ OK ] This patch fixes this by adding ping tests in test output: New MPTCP socket can be blocked via sysctl [ OK ] INFO: validating network environment with pings ping tests [ OK ] INFO: Using loss of 0.55% delay 36 ms reorder 97% 43% with delay 9ms on ns3eth4 ns1 MPTCP -> ns1 (10.0.1.1:10000 ) MPTCP (duration 34ms) [ OK ] ns1 MPTCP -> ns1 (10.0.1.1:10001 ) TCP (duration 20ms) [ OK ] Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 7a53c8fb1783..bb0c7bf5b368 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -866,6 +866,9 @@ mptcp_lib_result_code "${ret}" "ping tests" =20 stop_if_error "Could not even run ping tests" =20 +print_title "ping tests" 69 +mptcp_lib_pr_ok + [ -n "$tc_loss" ] && tc -net "$ns2" qdisc add dev ns2eth3 root netem loss = random $tc_loss delay ${tc_delay}ms mptcp_lib_pr_info "Using loss of $tc_loss " test "$tc_delay" -gt 0 && echo -n "delay $tc_delay ms " --=20 2.40.1 From nobody Sun May 19 15:05:12 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 652E324B2C for ; Wed, 28 Feb 2024 07:44:07 +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=1709106247; cv=none; b=iGQPJkKoxcKSLT1OI6htlLsLcK/5n6geeMrmmlI1MuGx+5erVd9bKzhhouFdEp0tbEL9UcENLQFeqFzNpw89yALQuA61YaMTAMS1DkjNtmjgcqACIKcSoTVF1cpbNdualxpfCFbX+RYhA+GcChkJhpiUAv5FKb3Um7xkityWKZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106247; c=relaxed/simple; bh=6T1wCvCn9OjC3QkdC8u3/O+aJElgh/cvdAYsAeFcrFE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=uQMW9W6X88Jj+optPE++4hlRSt62ftdfUvNYrnM/+8uzj44aw5y8FE0OU3s+8TqNAnmYEVivZGe2DiOtlCoCGzTKwBrbJ1zjPWATdBLuWbw4uxyhalnmSytrZuH/F7MZFr9MeCaEI1lKs1QRwOjSXyQfazJqKHj0xmWqHdHjQFw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=prqbAMGH; 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="prqbAMGH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2D9AC43390; Wed, 28 Feb 2024 07:44:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106247; bh=6T1wCvCn9OjC3QkdC8u3/O+aJElgh/cvdAYsAeFcrFE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=prqbAMGHVyjyiT8oEX+2ptv2HdFnibencP1nf21A1cPHRGTeNs+jcT7bslc3hjvmY EMOvhAtjp400JsKgneMCILeMvbOjBgsTwg5qF5PdXo2SLx4blG7FC9DO7C4TG9k8QP i0UGwATVfDhyYXl9aC4gPGFQBvSS/wUZ0t1PYv2iLd3iEQCimtEpZcsPvB7g2WqTiB nz9HAQ3iLkfeNxJHWFIAf1iPnC/or+JYXTZS+EUaDEK1QXorPciAKw3h3oPJuwXEzU dOU/bcE8a9ZMO3SYX4GnHMzMuWHqnGSXTsgilIomq0NPdjE1skz+CeqW+cDetbijpM ZPguRKXX7RfEw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 7/9] selftests: mptcp: add more print_title helpers Date: Wed, 28 Feb 2024 15:43:45 +0800 Message-Id: <6c61dfba93c4cb7d10e9d2a6258d256257e45abd.1709105922.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 print_title() helper for diag.sh and pm_netlink.sh to make it easy to change the output information. Only print_title() helper needs to be updated in that cases. It's useful for the coming commit "selftests: mptcp: print test results with counters". Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 9 +++++++-- tools/testing/selftests/net/mptcp/pm_netlink.sh | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 7830bc043d52..dd9c5bf7a415 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -45,6 +45,11 @@ get_msk_inuse() ip netns exec $ns cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}' } =20 +print_title() +{ + printf "%-50s" "${@}" +} + __chk_nr() { local command=3D"$1" @@ -55,7 +60,7 @@ __chk_nr() =20 nr=3D$(eval $command) =20 - printf "%-50s" "$msg" + print_title "$msg" if [ "$nr" !=3D "$expected" ]; then if [ "$nr" =3D "$skip" ] && ! mptcp_lib_expect_all_features; then mptcp_lib_pr_skip "Feature probably not supported" @@ -114,7 +119,7 @@ wait_msk_nr() sleep 1 done =20 - printf "%-50s" "$msg" + print_title "$msg" if [ $i -ge $timeout ]; then mptcp_lib_pr_fail "timeout while expecting $expected max $max last $nr" mptcp_lib_result_fail "${msg} # timeout" diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index ffa79df99d38..e6b8e3db7788 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -46,6 +46,11 @@ trap cleanup EXIT =20 mptcp_lib_ns_init ns1 =20 +print_title() +{ + printf "%-50s" "${@}" +} + check() { local cmd=3D"$1" @@ -53,7 +58,7 @@ check() local msg=3D"$3" local rc=3D0 =20 - printf "%-50s" "$msg" + 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 +194,7 @@ subflow,backup,fullmesh 10.0.1.1" " (backup,fu= llmesh)" else for st in fullmesh nofullmesh backup,fullmesh; do st=3D" (${st})" - printf "%-50s" "${st}" + print_title "${st}" mptcp_lib_pr_skip mptcp_lib_result_skip "${st}" done --=20 2.40.1 From nobody Sun May 19 15:05:12 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 F40A924B2C for ; Wed, 28 Feb 2024 07:44:08 +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=1709106249; cv=none; b=LL/BnAgF5xXq1PR+NQd4Ng0S+arzQlXvklXIPE/M/LodWeobduBg6I3NXsGGFRetk+328vQdcPTTamt8vhsKa3O9j9kj+2e8mNpvEMJWI0eXmEiDkNst7oYnhdwtsNF9HbTt0oljfEBxx1xKvq2RkxFskdR4n4gVnJ2E5jPQXko= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106249; c=relaxed/simple; bh=y56OYk7r207VtC35oOIi6PNy6gOdf5bqLAg7WNjD/IY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DCCFui01Ihgo7xIPYLFesFuc0wJlSqbwMXi+6oVxKsgF1DkhMOmlggSizj+89It6cUVDCaERGYuA5j4DSNL+aWHKHGx9jMjjW07NWk020G0YLcyh2hoKSyv3LvJOfzEm61td1IV2XyVYfRFv2iwKhf4KF76NDMV9+xMxNNkiWs0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=panZKRQJ; 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="panZKRQJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9F603C433C7; Wed, 28 Feb 2024 07:44:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106248; bh=y56OYk7r207VtC35oOIi6PNy6gOdf5bqLAg7WNjD/IY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=panZKRQJ7lOTn799kOiq8YGEaxU7MqiBT5nEKUFiwJXesQe8kyPV68pG30SE3kVC9 OdLF8zrifsKA/HeCK+8/AGUtXJ8nrdyjTxcibnwkiNBhTneevUAnypR5N42nKETufg 2+jUza8CrG2Hz58RhyXxtUE7JRNx8sufErpRsc9u9fiQe3/TILC1LvYn3uxrMcbVWh acvYVZ56+j56IozWLkKHOr3ZaBLNkhripILhHgACfLpW1M6ymRpiCVyTBj5CQR1Rr3 MV5h6mE1bEkfHLQqL+MwDKuXQkhW9b5fI5YTq+91axSPp1YVM6MW6WQzAXc/X5Nd1X L4o3gw1IyF5jw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 8/9] selftests: mptcp: connect: add dedicated port counter Date: Wed, 28 Feb 2024 15:43:46 +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 'PORT' instead of TEST_COUNT to increase port numbers in mptcp_connect.sh. This can avoid outputting discontinuous test counters. Signed-off-by: Geliang Tang --- 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 bb0c7bf5b368..818625b5e605 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=3D0 =20 if [ $tc_loss -eq 100 ];then tc_loss=3D1% @@ -323,7 +324,7 @@ do_transfer() local extra_args=3D"$7" =20 local port - port=3D$((10000+TEST_COUNT)) + port=3D$((10000+PORT++)) TEST_COUNT=3D$((TEST_COUNT+1)) =20 if [ "$rcvbuf" -gt 0 ]; then @@ -718,7 +719,7 @@ EOF =20 mptcp_lib_pr_info "test $msg" =20 - TEST_COUNT=3D10000 + PORT=3D10000 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 Sun May 19 15:05:12 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 BBB8C24B2C for ; Wed, 28 Feb 2024 07:44:10 +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=1709106250; cv=none; b=nGw76wllZJ4a7UgqDuUPcraXfDvYbG2x+nejvsvxVO4qO0bMr5rTaGy0kVo2F6YnRknmaoSYjcDQNQxaKp6VGgGJUTAkyPNNUyz4EsKBdpFitqsbNTpnn6TEJK9PMBU+WD7E1HNyKbRUo2an+20jI+GBbk2uervNKna60c5XDFI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709106250; c=relaxed/simple; bh=Nyyw0JXGy/o1xReAK4b0V7+aueACWfCuZObQeeRFy74=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RIII5RZjVWMAWmY4p/HdJVPE8lpJcLPdor9dNeuR75SQgNPrAKLPj1lrfsESCjFAMNTUosv7ZTBlXG7QUAMj/nhLJMolS5/DInHjGb5q2mpH+0ghkx/NaZpLfUmktMaXZgf54F19BKoVVP7jJlfKGpriwaWJnR0sAjfcylFO8Cc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KpOzM7SB; 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="KpOzM7SB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 79909C433C7; Wed, 28 Feb 2024 07:44:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709106250; bh=Nyyw0JXGy/o1xReAK4b0V7+aueACWfCuZObQeeRFy74=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KpOzM7SBvgIdUaIiOrZs75vZkNKnpCKlMgzZuii+VIZeVTlTSgOpPlO7KKKxtyLv4 OCSnVsQOBZ2s8ZvulFLjFCVJ0V2sNez8JDdmwyMOtmZ0NJBbrk3J23r3hR7I+YlINp ZrbB9hKYNOvPLvPCOEEbsc+yTXjp8WXZmj7cHZB2CjYPco3/vLDvn7gxu+lk03eGAQ P0MrQoNklBtFpwXAxVyWmnYzkJ4lzjAjM1m4/sNXJj3AqkCBBhcnFepsO8bRrVBBPO cWTi1H0qcgF8/2Pb2KMQtiBhDK9XSo1ENRz203wyywGH9QI/q34baWVGL6VJejdJ5Q /asOXXSem1bog== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 9/9] selftests: mptcp: print test results with counters Date: Wed, 28 Feb 2024 15:43:47 +0800 Message-Id: <111be8b3feb6b8410abe43468fe00d28a131c36b.1709105922.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() 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. Each output looks like: 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 ] INFO: validating network environment with pings 02 ping tests [ OK ] INFO: Using loss of 0.16% delay 25 ms reorder .. with delay 6ms on ns3eth4 03 ns1 MPTCP -> ns1 (10.0.1.1:10000 ) MPTCP (duration 116ms) [ OK ] 04 ns1 MPTCP -> ns1 (10.0.1.1:10001 ) TCP (duration 33ms) [ OK ] 05 ns1 TCP -> ns1 (10.0.1.1:10002 ) MPTCP (duration 25ms) [ OK ] 06 ns1 MPTCP -> ns1 (dead:beef:1::1:10003) MPTCP (duration 128ms) [ OK ] 07 ns1 MPTCP -> ns1 (dead:beef:1::1:10004) TCP (duration 31ms) [ OK ] mptcp_sockopt.sh 01 transfer ipv4 [ OK ] 02 mark ipv4 [ OK ] 03 transfer ipv6 [ OK ] 04 mark ipv6 [ OK ] PASS: all packets had packet mark set 05 sockopt v4 [ OK ] 06 sockopt v6 [ OK ] PASS: SOL_MPTCP getsockopt has expected information 07 TCP_INQ: -t tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -t tcp 08 TCP_INQ: -6 -t tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -6 -t tcp 09 TCP_INQ: -r tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -r tcp 10 TCP_INQ: -6 -r tcp [ 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 ] 06 duplicate addr [ OK ] 07 id addr increment [ OK ] 08 hard addr limit [ OK ] 09 above hard addr limit [ OK ] simult_flows.sh 01 balanced bwidth 7411 max 8456 [ OK ] 02 balanced bwidth - reverse direction 7380 max 8456 [ OK ] 03 balanced bwidth with unbalanced delay 7434 max 8456 [ OK ] userspace_pm.sh INFO: Init 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:14 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 ++---- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 4 ++-- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 8 ++++++++ tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 4 +++- tools/testing/selftests/net/mptcp/pm_netlink.sh | 4 +++- tools/testing/selftests/net/mptcp/simult_flows.sh | 5 ++--- tools/testing/selftests/net/mptcp/userspace_pm.sh | 3 ++- 7 files changed, 22 insertions(+), 12 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index dd9c5bf7a415..2a9c36320f84 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -9,7 +9,7 @@ . "$(dirname "${0}")/mptcp_lib.sh" =20 ns=3D"" -test_cnt=3D1 +test_cnt=3D0 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) ret=3D0 @@ -47,7 +47,7 @@ get_msk_inuse() =20 print_title() { - printf "%-50s" "${@}" + mptcp_lib_print_title test_cnt "%-50s" "${@}" } =20 __chk_nr() @@ -74,7 +74,6 @@ __chk_nr() mptcp_lib_pr_ok mptcp_lib_result_pass "${msg}" fi - test_cnt=3D$((test_cnt+1)) } =20 __chk_msk_nr() @@ -132,7 +131,6 @@ wait_msk_nr() mptcp_lib_pr_ok mptcp_lib_result_pass "${msg}" fi - test_cnt=3D$((test_cnt+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 818625b5e605..e9b0b8059efb 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -131,6 +131,7 @@ ns2=3D"" ns3=3D"" ns4=3D"" =20 +#shellcheck disable=3DSC2034 # TEST_COUNT is used by mptcp_lib.sh TEST_COUNT=3D0 TEST_GROUP=3D"" =20 @@ -253,7 +254,7 @@ print_title() local msg=3D"${1}" local nr_blank=3D"${2-50}" =20 - printf "%-${nr_blank}s" "${msg}" + mptcp_lib_print_title TEST_COUNT "%-${nr_blank}s" "${msg}" } =20 check_mptcp_disabled() @@ -325,7 +326,6 @@ do_transfer() =20 local port port=3D$((10000+PORT++)) - TEST_COUNT=3D$((TEST_COUNT+1)) =20 if [ "$rcvbuf" -gt 0 ]; then extra_args=3D"$extra_args -R $rcvbuf" diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 58fe4dad9d9d..4f6bbf5711b1 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -437,3 +437,11 @@ mptcp_lib_events() { ip netns exec "${ns}" ./pm_nl_ctl events >> "${evts}" 2>&1 & pid=3D$! } + +mptcp_lib_print_title() { + declare -n counter=3D"${1}" + local fmt=3D"${2}" + local msg=3D"${3}" + + printf "%02u ${fmt}" "$((++counter))" "${msg}" +} diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index c2aeb722a97e..3c381fe90230 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -17,6 +17,8 @@ timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) iptables=3D"iptables" ip6tables=3D"ip6tables" +#shellcheck disable=3DSC2034 # test_cnt is used by mptcp_lib.sh +test_cnt=3D0 =20 ns1=3D"" ns2=3D"" @@ -115,7 +117,7 @@ not 0 - not all expected packets marked" 1>&2 =20 print_title() { - printf "%-50s" "${@}" + mptcp_lib_print_title test_cnt "%-50s" "${@}" } =20 do_transfer() diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index e6b8e3db7788..d714f0befb2e 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -9,6 +9,8 @@ . "$(dirname "${0}")/mptcp_lib.sh" =20 ret=3D0 +#shellcheck disable=3DSC2034 # test_cnt is used by mptcp_lib.sh +test_cnt=3D0 =20 usage() { echo "Usage: $0 [ -h ]" @@ -48,7 +50,7 @@ mptcp_lib_ns_init ns1 =20 print_title() { - printf "%-50s" "${@}" + mptcp_lib_print_title test_cnt "%-50s" "${@}" } =20 check() diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 4aa0f95ae11f..1aba050c4d18 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -14,7 +14,7 @@ ns3=3D"" capture=3Dfalse timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) -test_cnt=3D1 +test_cnt=3D0 ret=3D0 bail=3D0 slack=3D50 @@ -127,7 +127,6 @@ do_transfer() local max_time=3D$3 local port port=3D$((10000+test_cnt)) - test_cnt=3D$((test_cnt+1)) =20 :> "$cout" :> "$sout" @@ -207,7 +206,7 @@ do_transfer() =20 print_title() { - printf "%-55s" "${@}" + mptcp_lib_print_title test_cnt "%-55s" "${@}" } =20 run_test() diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 5f32ac451596..236b8aa727c4 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -53,6 +53,7 @@ server_addr_id=3D${RANDOM:0:2} ns1=3D"" ns2=3D"" ret=3D0 +test_cnt=3D0 test_name=3D"" =20 _printf() { @@ -69,7 +70,7 @@ print_test() { test_name=3D"${1}" =20 - _printf "%-68s" "${test_name}" + mptcp_lib_print_title test_cnt "%-68s" "${test_name}" } =20 test_pass() --=20 2.40.1