selftests: mptcp: print test results with counters
authorGeliang Tang <tanggeliang@kylinos.cn>
Fri, 8 Mar 2024 22:10:14 +0000 (23:10 +0100)
committerJakub Kicinski <kuba@kernel.org>
Mon, 11 Mar 2024 22:07:26 +0000 (15:07 -0700)
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 => ns1                      [ OK ]
03 Established IPv6 MPTCP Connection ns2 => ns1                      [ OK ]
INFO: Announce tests
04 ADD_ADDR 10.0.2.2 (ns2) => ns1, invalid token                     [ OK ]
05 ADD_ADDR id:67 10.0.2.2 (ns2) => 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 <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240308-upstream-net-next-20240308-selftests-mptcp-unification-v1-7-4f42c347b653@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/mptcp/diag.sh
tools/testing/selftests/net/mptcp/mptcp_connect.sh
tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
tools/testing/selftests/net/mptcp/pm_netlink.sh
tools/testing/selftests/net/mptcp/simult_flows.sh
tools/testing/selftests/net/mptcp/userspace_pm.sh

index b63510ce23272133f8158032714b3070d1fae951..4ffdd415e670b5098998845f56c5c4011a4f761d 100755 (executable)
@@ -54,7 +54,7 @@ __chk_nr()
 
        nr=$(eval $command)
 
-       printf "%-50s" "$msg"
+       mptcp_lib_print_title "$msg"
        if [ "$nr" != "$expected" ]; then
                if [ "$nr" = "$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=$((MPTCP_LIB_TEST_COUNTER+1))
 }
 
 __chk_msk_nr()
@@ -113,7 +112,7 @@ wait_msk_nr()
                sleep 1
        done
 
-       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=$((MPTCP_LIB_TEST_COUNTER+1))
 }
 
 chk_msk_fallback_nr()
index 915faee77e25fb1fab2d8670cf6bff8e73456b83..bbda37d6514f5ec5406b877c00d51bd69deefe6e 100755 (executable)
@@ -249,7 +249,8 @@ fi
 
 print_larger_title() {
        # here we don't have the time, a bit longer for the alignment
-       printf "%-69s" "${@}"
+       MPTCP_LIB_TEST_FORMAT="%02u %-69s" \
+               mptcp_lib_print_title "${@}"
 }
 
 check_mptcp_disabled()
@@ -320,7 +321,6 @@ do_transfer()
        local extra_args="$7"
 
        port=$((port + 1))
-       MPTCP_LIB_TEST_COUNTER=$((MPTCP_LIB_TEST_COUNTER+1))
 
        if [ "$rcvbuf" -gt 0 ]; then
                extra_args="$extra_args -R $rcvbuf"
@@ -347,7 +347,7 @@ do_transfer()
        addr_port=$(printf "%s:%d" ${connect_addr} ${port})
        local result_msg
        result_msg="$(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}"
 
        if $capture; then
                local capuser
index 17b36c1312f4c4a5ad367e4cedd7236e501042bc..19d0ac31b6a96593bd97110d223d51c62e563d91 100755 (executable)
@@ -115,7 +115,7 @@ check_mark()
 
 print_title()
 {
-       printf "%-50s" "${@}"
+       mptcp_lib_print_title "${@}"
 }
 
 do_transfer()
index 427fc5c70b3c3a66e699c6351eb627daf7e13751..5b9bc25dfef4229f17a05f53a696f5cbb9bbf9a6 100755 (executable)
@@ -53,7 +53,7 @@ check()
        local msg="$3"
        local rc=0
 
-       printf "%-50s" "$msg"
+       mptcp_lib_print_title "$msg"
        mptcp_lib_check_output "${err}" "${cmd}" "${expected}" || rc=${?}
        if [ ${rc} -eq 2 ]; then
                mptcp_lib_result_fail "${msg} # error ${rc}"
@@ -189,7 +189,8 @@ subflow,backup,fullmesh 10.0.1.1" "          (backup,fullmesh)"
 else
        for st in fullmesh nofullmesh backup,fullmesh; do
                st="          (${st})"
-               printf "%-50s%s\n" "${st}" "[SKIP]"
+               mptcp_lib_print_title "${st}"
+               echo "[SKIP]"
                mptcp_lib_result_skip "${st}"
        done
 fi
index 3ad663e38c4274edb117897091a30b64f70bd89d..b7549d9364d625e22a0015f2cdfcba0398e0c716 100755 (executable)
@@ -14,6 +14,8 @@ ns3=""
 capture=false
 timeout_poll=30
 timeout_test=$((timeout_poll * 2 + 1))
+# a bit more space: because we have more to display
+MPTCP_LIB_TEST_FORMAT="%02u %-60s"
 ret=0
 bail=0
 slack=50
@@ -126,7 +128,6 @@ do_transfer()
        local max_time=$3
        local port
        port=$((10000+MPTCP_LIB_TEST_COUNTER))
-       MPTCP_LIB_TEST_COUNTER=$((MPTCP_LIB_TEST_COUNTER+1))
 
        :> "$cout"
        :> "$sout"
@@ -238,7 +239,7 @@ run_test()
        # completion (see mptcp_connect): 200ms on each side, add some slack
        time=$((time + 400 + slack))
 
-       printf "%-60s" "$msg"
+       mptcp_lib_print_title "$msg"
        do_transfer $small $large $time
        lret=$?
        mptcp_lib_result_code "${lret}" "${msg}"
@@ -248,7 +249,7 @@ run_test()
        fi
 
        msg+=" - reverse direction"
-       printf "%-60s" "${msg}"
+       mptcp_lib_print_title "${msg}"
        do_transfer $large $small $time
        lret=$?
        mptcp_lib_result_code "${lret}" "${msg}"
index b0cce8f065d82fdddaaa9e97a3cfa7f8e9ba9509..ca238592baee65276c534d62fddc15d5e6bc900f 100755 (executable)
@@ -54,6 +54,8 @@ ns1=""
 ns2=""
 ret=0
 test_name=""
+# a bit more space: because we have more to display
+MPTCP_LIB_TEST_FORMAT="%02u %-68s"
 
 _printf() {
        stdbuf -o0 -e0 printf "${@}"
@@ -69,7 +71,7 @@ print_test()
 {
        test_name="${1}"
 
-       _printf "%-68s" "${test_name}"
+       mptcp_lib_print_title "${test_name}"
 }
 
 print_results()