* [PATCH mptcp-next 01/13] selftests: mptcp: add mptcp_lib_evts_* helpers
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 02/13] selftests: mptcp: export event macros in mptcp_lib Geliang Tang
` (11 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
To avoid duplicated code in different MPTCP selftests, we can add and
use helpers defined in mptcp_lib.sh.
This patch unifies "pm_nl_ctl events" related code in userspace_pm.sh
and mptcp_join.sh into four helpers: mptcp_lib_evts_init, _start, _kill
and _remove. Define them in mptcp_lib.sh and use these new helpers in
both scripts.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 54 ++++++----------
.../testing/selftests/net/mptcp/mptcp_lib.sh | 63 +++++++++++++++++++
.../selftests/net/mptcp/userspace_pm.sh | 31 ++-------
3 files changed, 88 insertions(+), 60 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 995280882428..ac7cee3f4dac 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -35,10 +35,6 @@ ip_mptcp=0
check_invert=0
validate_checksum=0
init=0
-evts_ns1=""
-evts_ns2=""
-evts_ns1_pid=0
-evts_ns2_pid=0
last_test_failed=0
last_test_skipped=0
last_test_ignored=1
@@ -182,8 +178,7 @@ init() {
cin=$(mktemp)
cinsent=$(mktemp)
cout=$(mktemp)
- evts_ns1=$(mktemp)
- evts_ns2=$(mktemp)
+ mptcp_lib_evts_init
trap cleanup EXIT
@@ -196,7 +191,7 @@ cleanup()
rm -f "$cin" "$cout" "$sinfail"
rm -f "$sin" "$sout" "$cinsent" "$cinfail"
rm -f "$tmpfile"
- rm -rf $evts_ns1 $evts_ns2
+ mptcp_lib_evts_remove
cleanup_partial
}
@@ -460,12 +455,7 @@ reset_with_events()
{
reset "${1}" || return 1
- :> "$evts_ns1"
- :> "$evts_ns2"
- ip netns exec $ns1 ./pm_nl_ctl events >> "$evts_ns1" 2>&1 &
- evts_ns1_pid=$!
- ip netns exec $ns2 ./pm_nl_ctl events >> "$evts_ns2" 2>&1 &
- evts_ns2_pid=$!
+ mptcp_lib_evts_start "${ns1}" "${ns2}"
}
reset_with_tcp_filter()
@@ -635,12 +625,6 @@ wait_mpj()
done
}
-kill_events_pids()
-{
- mptcp_lib_kill_wait $evts_ns1_pid
- mptcp_lib_kill_wait $evts_ns2_pid
-}
-
kill_tests_wait()
{
#shellcheck disable=SC2046
@@ -2882,9 +2866,9 @@ add_addr_ports_tests()
chk_add_nr 1 1 1
chk_rm_nr 1 1 invert
- verify_listener_events $evts_ns1 $LISTENER_CREATED $AF_INET 10.0.2.1 10100
- verify_listener_events $evts_ns1 $LISTENER_CLOSED $AF_INET 10.0.2.1 10100
- kill_events_pids
+ verify_listener_events $server_evts $LISTENER_CREATED $AF_INET 10.0.2.1 10100
+ verify_listener_events $server_evts $LISTENER_CLOSED $AF_INET 10.0.2.1 10100
+ mptcp_lib_evts_kill
fi
# subflow and signal with port, remove
@@ -3257,10 +3241,10 @@ fail_tests()
# $1: ns ; $2: addr ; $3: id
userspace_pm_add_addr()
{
- local evts=$evts_ns1
+ local evts=$server_evts
local tk
- [ "$1" == "$ns2" ] && evts=$evts_ns2
+ [ "$1" == "$ns2" ] && evts=$client_evts
tk=$(mptcp_lib_evts_get_info token "$evts")
ip netns exec $1 ./pm_nl_ctl ann $2 token $tk id $3
@@ -3270,11 +3254,11 @@ userspace_pm_add_addr()
# $1: ns ; $2: id
userspace_pm_rm_addr()
{
- local evts=$evts_ns1
+ local evts=$server_evts
local tk
local cnt
- [ "$1" == "$ns2" ] && evts=$evts_ns2
+ [ "$1" == "$ns2" ] && evts=$client_evts
tk=$(mptcp_lib_evts_get_info token "$evts")
cnt=$(rm_addr_count ${1})
@@ -3285,10 +3269,10 @@ userspace_pm_rm_addr()
# $1: ns ; $2: addr ; $3: id
userspace_pm_add_sf()
{
- local evts=$evts_ns1
+ local evts=$server_evts
local tk da dp
- [ "$1" == "$ns2" ] && evts=$evts_ns2
+ [ "$1" == "$ns2" ] && evts=$client_evts
tk=$(mptcp_lib_evts_get_info token "$evts")
da=$(mptcp_lib_evts_get_info daddr4 "$evts")
dp=$(mptcp_lib_evts_get_info dport "$evts")
@@ -3301,13 +3285,13 @@ userspace_pm_add_sf()
# $1: ns ; $2: addr $3: event type
userspace_pm_rm_sf()
{
- local evts=$evts_ns1
+ local evts=$server_evts
local t=${3:-1}
local ip=4
local tk da dp sp
local cnt
- [ "$1" == "$ns2" ] && evts=$evts_ns2
+ [ "$1" == "$ns2" ] && evts=$client_evts
if mptcp_lib_is_v6 $2; then ip=6; fi
tk=$(mptcp_lib_evts_get_info token "$evts")
da=$(mptcp_lib_evts_get_info "daddr$ip" "$evts" $t)
@@ -3415,7 +3399,7 @@ userspace_tests()
chk_rm_nr 1 1 invert
chk_mptcp_info subflows 0 subflows 0
chk_subflows_total 1 1
- kill_events_pids
+ mptcp_lib_evts_kill
wait $tests_pid
fi
@@ -3437,7 +3421,7 @@ userspace_tests()
chk_rm_nr 1 1
chk_mptcp_info subflows 0 subflows 0
chk_subflows_total 1 1
- kill_events_pids
+ mptcp_lib_evts_kill
wait $tests_pid
fi
@@ -3456,7 +3440,7 @@ userspace_tests()
chk_join_nr 1 1 1
chk_mptcp_info subflows 1 subflows 1
chk_subflows_total 2 2
- kill_events_pids
+ mptcp_lib_evts_kill
wait $tests_pid
fi
@@ -3480,7 +3464,7 @@ userspace_tests()
chk_rst_nr 0 0 invert
chk_mptcp_info subflows 1 subflows 1
chk_subflows_total 1 1
- kill_events_pids
+ mptcp_lib_evts_kill
wait $tests_pid
fi
@@ -3506,7 +3490,7 @@ userspace_tests()
chk_rst_nr 0 0 invert
chk_mptcp_info subflows 1 subflows 1
chk_subflows_total 1 1
- kill_events_pids
+ mptcp_lib_evts_kill
wait $tests_pid
fi
}
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 1f8be9dd0e20..980ef3dbb6ab 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -299,3 +299,66 @@ mptcp_lib_wait_local_port_listen() {
sleep 0.1
done
}
+
+server_evts=""
+client_evts=""
+server_evts_pid=0
+client_evts_pid=0
+
+# server_evts(_pid) and client_evts(_pid) are needed
+# by mptcp_lib_evts_init, _start, _kill and _remove.
+mptcp_lib_evts_init() {
+ : "${server_evts?}"
+ : "${client_evts?}"
+
+ if [ -z "${server_evts}" ]; then
+ server_evts=$(mktemp)
+ fi
+ if [ -z "${client_evts}" ]; then
+ client_evts=$(mktemp)
+ fi
+}
+
+# $1 ns1, $2 ns2
+mptcp_lib_evts_start() {
+ : "${server_evts:?}"
+ : "${client_evts:?}"
+ : "${server_evts_pid:?}"
+ : "${client_evts_pid:?}"
+
+ local ns_1="${1}"
+ local ns_2="${2}"
+
+ :>"$server_evts"
+ :>"$client_evts"
+
+ if [ "${server_evts_pid}" -ne 0 ]; then
+ mptcp_lib_kill_wait "${server_evts_pid}"
+ fi
+ ip netns exec "${ns_1}" ./pm_nl_ctl events >> "${server_evts}" 2>&1 &
+ server_evts_pid=$!
+
+ if [ "${client_evts_pid}" -ne 0 ]; then
+ mptcp_lib_kill_wait "${client_evts_pid}"
+ fi
+ ip netns exec "${ns_2}" ./pm_nl_ctl events >> "${client_evts}" 2>&1 &
+ client_evts_pid=$!
+}
+
+mptcp_lib_evts_kill() {
+ : "${server_evts_pid:?}"
+ : "${client_evts_pid:?}"
+
+ mptcp_lib_kill_wait "${server_evts_pid}"
+ mptcp_lib_kill_wait "${client_evts_pid}"
+
+ server_evts_pid=0
+ client_evts_pid=0
+}
+
+mptcp_lib_evts_remove() {
+ : "${server_evts:?}"
+ : "${client_evts:?}"
+
+ rm -rf "${server_evts}" "${client_evts}"
+}
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 6167837f48e1..f1dbd97c0c96 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -34,10 +34,6 @@ AF_INET=2
AF_INET6=10
file=""
-server_evts=""
-client_evts=""
-server_evts_pid=0
-client_evts_pid=0
client4_pid=0
server4_pid=0
client6_pid=0
@@ -116,18 +112,19 @@ cleanup()
# Terminate the MPTCP connection and related processes
local pid
- for pid in $client4_pid $server4_pid $client6_pid $server6_pid\
- $server_evts_pid $client_evts_pid
+ for pid in $client4_pid $server4_pid $client6_pid $server6_pid
do
mptcp_lib_kill_wait $pid
done
+ mptcp_lib_evts_kill
local netns
for netns in "$ns1" "$ns2" ;do
ip netns del "$netns"
done
- rm -rf $file $client_evts $server_evts
+ rm -rf $file
+ mptcp_lib_evts_remove
_printf "Done\n"
}
@@ -186,24 +183,8 @@ make_connection()
# Capture netlink events over the two network namespaces running
# the MPTCP client and server
- if [ -z "$client_evts" ]; then
- client_evts=$(mktemp)
- fi
- :>"$client_evts"
- if [ $client_evts_pid -ne 0 ]; then
- mptcp_lib_kill_wait $client_evts_pid
- fi
- ip netns exec "$ns2" ./pm_nl_ctl events >> "$client_evts" 2>&1 &
- client_evts_pid=$!
- if [ -z "$server_evts" ]; then
- server_evts=$(mktemp)
- fi
- :>"$server_evts"
- if [ $server_evts_pid -ne 0 ]; then
- mptcp_lib_kill_wait $server_evts_pid
- fi
- ip netns exec "$ns1" ./pm_nl_ctl events >> "$server_evts" 2>&1 &
- server_evts_pid=$!
+ mptcp_lib_evts_init
+ mptcp_lib_evts_start "${ns1}" "${ns2}"
sleep 0.5
# Run the server
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 02/13] selftests: mptcp: export event macros in mptcp_lib
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 01/13] selftests: mptcp: add mptcp_lib_evts_* helpers Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 03/13] selftests: mptcp: do some cleanups Geliang Tang
` (10 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
SUB_ESTABLISHED, LISTENER_CREATED, LISTENER_CLOSED, AF_INET and AF_INET6
are defined in both mptcp_join.sh and userspace_pm.sh, export them into
mptcp_lib.sh. Add MPTCP_LIB_ prefix for the first three and add readonly
for the last two.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 21 +++----
.../testing/selftests/net/mptcp/mptcp_lib.sh | 7 +++
.../selftests/net/mptcp/userspace_pm.sh | 60 +++++++++----------
3 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index ac7cee3f4dac..5c8873bc75e1 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -2777,13 +2777,6 @@ backup_tests()
fi
}
-SUB_ESTABLISHED=10 # MPTCP_EVENT_SUB_ESTABLISHED
-LISTENER_CREATED=15 #MPTCP_EVENT_LISTENER_CREATED
-LISTENER_CLOSED=16 #MPTCP_EVENT_LISTENER_CLOSED
-
-AF_INET=2
-AF_INET6=10
-
verify_listener_events()
{
local evt=$1
@@ -2797,9 +2790,9 @@ verify_listener_events()
local sport
local name
- if [ $e_type = $LISTENER_CREATED ]; then
+ if [ $e_type = $MPTCP_LIB_LISTENER_CREATED ]; then
name="LISTENER_CREATED"
- elif [ $e_type = $LISTENER_CLOSED ]; then
+ elif [ $e_type = $MPTCP_LIB_LISTENER_CLOSED ]; then
name="LISTENER_CLOSED "
else
name="$e_type"
@@ -2866,8 +2859,10 @@ add_addr_ports_tests()
chk_add_nr 1 1 1
chk_rm_nr 1 1 invert
- verify_listener_events $server_evts $LISTENER_CREATED $AF_INET 10.0.2.1 10100
- verify_listener_events $server_evts $LISTENER_CLOSED $AF_INET 10.0.2.1 10100
+ verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CREATED \
+ $AF_INET 10.0.2.1 10100
+ verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CLOSED \
+ $AF_INET 10.0.2.1 10100
mptcp_lib_evts_kill
fi
@@ -3395,7 +3390,7 @@ userspace_tests()
chk_subflows_total 2 2
chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
userspace_pm_rm_addr $ns1 10
- userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED
+ userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $MPTCP_LIB_SUB_ESTABLISHED
chk_rm_nr 1 1 invert
chk_mptcp_info subflows 0 subflows 0
chk_subflows_total 1 1
@@ -3417,7 +3412,7 @@ userspace_tests()
chk_mptcp_info subflows 1 subflows 1
chk_subflows_total 2 2
userspace_pm_rm_addr $ns2 20
- userspace_pm_rm_sf $ns2 10.0.3.2 $SUB_ESTABLISHED
+ userspace_pm_rm_sf $ns2 10.0.3.2 $MPTCP_LIB_SUB_ESTABLISHED
chk_rm_nr 1 1
chk_mptcp_info subflows 0 subflows 0
chk_subflows_total 1 1
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 980ef3dbb6ab..ffd78187237b 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -8,6 +8,13 @@ readonly KSFT_SKIP=4
# shellcheck disable=SC2155 # declare and assign separately
readonly KSFT_TEST=$(basename "${0}" | sed 's/\.sh$//g')
+MPTCP_LIB_SUB_ESTABLISHED=10 # MPTCP_EVENT_SUB_ESTABLISHED
+MPTCP_LIB_LISTENER_CREATED=15 #MPTCP_EVENT_LISTENER_CREATED
+MPTCP_LIB_LISTENER_CLOSED=16 #MPTCP_EVENT_LISTENER_CLOSED
+
+readonly AF_INET=2
+readonly AF_INET6=10
+
MPTCP_LIB_SUBTESTS=()
# only if supported (or forced) and not disabled, see no-color.org
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index f1dbd97c0c96..5921589f0db9 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -25,13 +25,7 @@ fi
ANNOUNCED=6 # MPTCP_EVENT_ANNOUNCED
REMOVED=7 # MPTCP_EVENT_REMOVED
-SUB_ESTABLISHED=10 # MPTCP_EVENT_SUB_ESTABLISHED
SUB_CLOSED=11 # MPTCP_EVENT_SUB_CLOSED
-LISTENER_CREATED=15 #MPTCP_EVENT_LISTENER_CREATED
-LISTENER_CLOSED=16 #MPTCP_EVENT_LISTENER_CLOSED
-
-AF_INET=2
-AF_INET6=10
file=""
client4_pid=0
@@ -525,7 +519,7 @@ verify_subflow_events()
info="${e_saddr} (${e_from}) => ${e_daddr} (${e_to})"
- if [ "$e_type" = "$SUB_ESTABLISHED" ]
+ if [ "$e_type" = "$MPTCP_LIB_SUB_ESTABLISHED" ]
then
if [ "$e_family" = "$AF_INET6" ]
then
@@ -582,14 +576,15 @@ test_subflows()
ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2\
rport "$client4_port" token "$server4_token"
sleep 0.5
- verify_subflow_events $server_evts $SUB_ESTABLISHED $server4_token $AF_INET "10.0.2.1" \
- "10.0.2.2" "$client4_port" "23" "$client_addr_id" "ns1" "ns2"
+ verify_subflow_events $server_evts $MPTCP_LIB_SUB_ESTABLISHED $server4_token \
+ $AF_INET "10.0.2.1" "10.0.2.2" "$client4_port" "23" \
+ "$client_addr_id" "ns1" "ns2"
# Delete the listener from the client ns, if one was created
mptcp_lib_kill_wait $listener_pid
local sport
- sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
+ sport=$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_ESTABLISHED)
# DESTROY_SUBFLOW from server to client machine
:>"$server_evts"
@@ -620,14 +615,14 @@ test_subflows()
ip netns exec "$ns1" ./pm_nl_ctl csf lip dead:beef:2::1 lid 23 rip\
dead:beef:2::2 rport "$client6_port" token "$server6_token"
sleep 0.5
- verify_subflow_events "$server_evts" "$SUB_ESTABLISHED" "$server6_token" "$AF_INET6"\
- "dead:beef:2::1" "dead:beef:2::2" "$client6_port" "23"\
- "$client_addr_id" "ns1" "ns2"
+ verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$server6_token" \
+ "$AF_INET6" "dead:beef:2::1" "dead:beef:2::2" "$client6_port" \
+ "23" "$client_addr_id" "ns1" "ns2"
# Delete the listener from the client ns, if one was created
mptcp_lib_kill_wait $listener_pid
- sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
+ sport=$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_ESTABLISHED)
# DESTROY_SUBFLOW6 from server to client machine
:>"$server_evts"
@@ -659,14 +654,14 @@ test_subflows()
ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2 rport\
$new4_port token "$server4_token"
sleep 0.5
- verify_subflow_events "$server_evts" "$SUB_ESTABLISHED" "$server4_token" "$AF_INET"\
- "10.0.2.1" "10.0.2.2" "$new4_port" "23"\
+ verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$server4_token" \
+ "$AF_INET" "10.0.2.1" "10.0.2.2" "$new4_port" "23" \
"$client_addr_id" "ns1" "ns2"
# Delete the listener from the client ns, if one was created
mptcp_lib_kill_wait $listener_pid
- sport=$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED)
+ sport=$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_ESTABLISHED)
# DESTROY_SUBFLOW from server to client machine
:>"$server_evts"
@@ -698,13 +693,13 @@ test_subflows()
ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rport\
$app4_port token "$client4_token"
sleep 0.5
- verify_subflow_events $client_evts $SUB_ESTABLISHED $client4_token $AF_INET "10.0.2.2"\
- "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1"
+ verify_subflow_events $client_evts $MPTCP_LIB_SUB_ESTABLISHED $client4_token $AF_INET \
+ "10.0.2.2" "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1"
# Delete the listener from the server ns, if one was created
mptcp_lib_kill_wait $listener_pid
- sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
+ sport=$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_ESTABLISHED)
# DESTROY_SUBFLOW from client to server machine
:>"$client_evts"
@@ -735,7 +730,7 @@ test_subflows()
ip netns exec "$ns2" ./pm_nl_ctl csf lip dead:beef:2::2 lid 23 rip\
dead:beef:2::1 rport $app6_port token "$client6_token"
sleep 0.5
- verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client6_token"\
+ verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$client6_token"\
"$AF_INET6" "dead:beef:2::2"\
"dead:beef:2::1" "$app6_port" "23"\
"$server_addr_id" "ns2" "ns1"
@@ -743,7 +738,7 @@ test_subflows()
# Delete the listener from the server ns, if one was created
mptcp_lib_kill_wait $listener_pid
- sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
+ sport=$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_ESTABLISHED)
# DESTROY_SUBFLOW6 from client to server machine
:>"$client_evts"
@@ -774,13 +769,14 @@ test_subflows()
ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rport\
$new4_port token "$client4_token"
sleep 0.5
- verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client4_token" "$AF_INET"\
- "10.0.2.2" "10.0.2.1" "$new4_port" "23" "$server_addr_id" "ns2" "ns1"
+ verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$client4_token" \
+ "$AF_INET" "10.0.2.2" "10.0.2.1" "$new4_port" "23" \
+ "$server_addr_id" "ns2" "ns1"
# Delete the listener from the server ns, if one was created
mptcp_lib_kill_wait $listener_pid
- sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
+ sport=$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_ESTABLISHED)
# DESTROY_SUBFLOW from client to server machine
:>"$client_evts"
@@ -819,14 +815,14 @@ test_subflows_v4_v6_mix()
ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rport\
$app6_port token "$client6_token"
sleep 0.5
- verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client6_token"\
+ verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$client6_token"\
"$AF_INET" "10.0.2.2" "10.0.2.1" "$app6_port" "23"\
"$server_addr_id" "ns2" "ns1"
# Delete the listener from the server ns, if one was created
mptcp_lib_kill_wait $listener_pid
- sport=$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED)
+ sport=$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_ESTABLISHED)
# DESTROY_SUBFLOW from client to server machine
:>"$client_evts"
@@ -888,9 +884,9 @@ verify_listener_events()
local saddr
local sport
- if [ $e_type = $LISTENER_CREATED ]; then
+ if [ $e_type = $MPTCP_LIB_LISTENER_CREATED ]; then
print_test "CREATE_LISTENER $e_saddr:$e_sport"
- elif [ $e_type = $LISTENER_CLOSED ]; then
+ elif [ $e_type = $MPTCP_LIB_LISTENER_CLOSED ]; then
print_test "CLOSE_LISTENER $e_saddr:$e_sport"
fi
@@ -925,7 +921,8 @@ test_listener()
local listener_pid=$!
sleep 0.5
- verify_listener_events $client_evts $LISTENER_CREATED $AF_INET 10.0.2.2 $client4_port
+ verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CREATED \
+ $AF_INET 10.0.2.2 $client4_port
# ADD_ADDR from client to server machine reusing the subflow port
ip netns exec $ns2 ./pm_nl_ctl ann 10.0.2.2 token $client4_token id\
@@ -941,7 +938,8 @@ test_listener()
mptcp_lib_kill_wait $listener_pid
sleep 0.5
- verify_listener_events $client_evts $LISTENER_CLOSED $AF_INET 10.0.2.2 $client4_port
+ verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CLOSED \
+ $AF_INET 10.0.2.2 $client4_port
}
print_title "Make connections"
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 03/13] selftests: mptcp: do some cleanups
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 01/13] selftests: mptcp: add mptcp_lib_evts_* helpers Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 02/13] selftests: mptcp: export event macros in mptcp_lib Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 04/13] selftests: mptcp: renames some variables Geliang Tang
` (9 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
To maintain consistency with other scripts, this patch does some
cleanups:
drop duplicate 'ret' var in pm_netlink.sh,
change 'capture' and 'checksum' as bool vars in mptcp_join,
change timeout_poll to 30 in diag.sh.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/diag.sh | 2 +-
.../testing/selftests/net/mptcp/mptcp_join.sh | 22 +++++++++----------
.../testing/selftests/net/mptcp/pm_netlink.sh | 1 -
3 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index 95b498efacd1..e59d3b33bb22 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -8,7 +8,7 @@ rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
ns="ns1-$rndh"
ksft_skip=4
test_cnt=1
-timeout_poll=100
+timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
ret=0
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 5c8873bc75e1..6d2e70785fdc 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -29,11 +29,11 @@ iptables="iptables"
ip6tables="ip6tables"
timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
-capture=0
-checksum=0
+capture=false
+checksum=false
ip_mptcp=0
check_invert=0
-validate_checksum=0
+validate_checksum=false
init=0
last_test_failed=0
last_test_skipped=0
@@ -94,7 +94,7 @@ init_partial()
ip netns exec $netns sysctl -q net.mptcp.pm_type=0 2>/dev/null || true
ip netns exec $netns sysctl -q net.ipv4.conf.all.rp_filter=0
ip netns exec $netns sysctl -q net.ipv4.conf.default.rp_filter=0
- if [ $checksum -eq 1 ]; then
+ if $checksum; then
ip netns exec $netns sysctl -q net.mptcp.checksum_enabled=1
fi
done
@@ -373,7 +373,7 @@ reset_with_checksum()
ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=$ns1_enable
ip netns exec $ns2 sysctl -q net.mptcp.checksum_enabled=$ns2_enable
- validate_checksum=1
+ validate_checksum=true
}
reset_with_allow_join_id0()
@@ -406,7 +406,7 @@ reset_with_allow_join_id0()
setup_fail_rules()
{
check_invert=1
- validate_checksum=1
+ validate_checksum=true
local i="$1"
local ip="${2:-4}"
local tables
@@ -978,7 +978,7 @@ do_transfer()
:> "$sout"
:> "$capout"
- if [ $capture -eq 1 ]; then
+ if $capture; then
local capuser
if [ -z $SUDO_USER ] ; then
capuser=""
@@ -1079,7 +1079,7 @@ do_transfer()
wait $spid
local rets=$?
- if [ $capture -eq 1 ]; then
+ if $capture; then
sleep 1
kill $cappid
fi
@@ -1467,7 +1467,7 @@ chk_join_nr()
else
print_ok
fi
- if [ $validate_checksum -eq 1 ]; then
+ if $validate_checksum; then
chk_csum_nr $csum_ns1 $csum_ns2
chk_fail_nr $fail_nr $fail_nr
chk_rst_nr $rst_nr $rst_nr
@@ -3611,10 +3611,10 @@ while getopts "${all_tests_args}cCih" opt; do
tests+=("${all_tests[${opt}]}")
;;
c)
- capture=1
+ capture=true
;;
C)
- checksum=1
+ checksum=true
;;
i)
ip_mptcp=1
diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
index 8f4ff123a7eb..ed1e8380838a 100755
--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
+++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
@@ -28,7 +28,6 @@ sec=$(date +%s)
rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
ns1="ns1-$rndh"
err=$(mktemp)
-ret=0
cleanup()
{
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 04/13] selftests: mptcp: renames some variables
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (2 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 03/13] selftests: mptcp: do some cleanups Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 05/13] selftests: mptcp: add mptcp_lib_echo_* helpers Geliang Tang
` (8 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
To maintain consistency with other scripts, this patch renames some
variables:
test_name -> TEST_NAME in userspace_pm.sh
test_cnt -> TEST_COUNT in diag.sh, simult_flows.sh
ns -> ns1 in diag.sh
ns_sbox -> ns3 in mptcp_sockopt.sh
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/diag.sh | 58 +++++++++----------
.../selftests/net/mptcp/mptcp_sockopt.sh | 12 ++--
.../selftests/net/mptcp/simult_flows.sh | 6 +-
.../selftests/net/mptcp/userspace_pm.sh | 12 ++--
4 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index e59d3b33bb22..043e199b0c62 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -5,9 +5,9 @@
sec=$(date +%s)
rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns="ns1-$rndh"
+ns1="ns1-$rndh"
ksft_skip=4
-test_cnt=1
+TEST_COUNT=1
timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
ret=0
@@ -18,19 +18,19 @@ flush_pids()
# give it some time
sleep 1.1
- ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGUSR1 &>/dev/null
+ ip netns pids "${ns1}" | xargs --no-run-if-empty kill -SIGUSR1 &>/dev/null
for _ in $(seq 10); do
- [ -z "$(ip netns pids "${ns}")" ] && break
+ [ -z "$(ip netns pids "${ns1}")" ] && break
sleep 0.1
done
}
cleanup()
{
- ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null
+ ip netns pids "${ns1}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null
- ip netns del $ns
+ ip netns del $ns1
}
mptcp_lib_check_mptcp
@@ -48,7 +48,7 @@ fi
get_msk_inuse()
{
- ip netns exec $ns cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}'
+ ip netns exec $ns1 cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}'
}
__chk_nr()
@@ -69,13 +69,13 @@ __chk_nr()
else
echo "[ fail ] expected $expected found $nr"
mptcp_lib_result_fail "${msg}"
- ret=$test_cnt
+ ret=$TEST_COUNT
fi
else
echo "[ ok ]"
mptcp_lib_result_pass "${msg}"
fi
- test_cnt=$((test_cnt+1))
+ TEST_COUNT=$((TEST_COUNT+1))
}
__chk_msk_nr()
@@ -83,7 +83,7 @@ __chk_msk_nr()
local condition=$1
shift 1
- __chk_nr "ss -inmHMN $ns | $condition" "$@"
+ __chk_nr "ss -inmHMN $ns1 | $condition" "$@"
}
chk_msk_nr()
@@ -104,7 +104,7 @@ wait_msk_nr()
msg=$*
while [ $i -lt $timeout ]; do
- nr=$(ss -inmHMN $ns | $condition)
+ nr=$(ss -inmHMN $ns1 | $condition)
[ $nr == $expected ] && break;
[ $nr -gt $max ] && max=$nr
i=$((i + 1))
@@ -115,16 +115,16 @@ wait_msk_nr()
if [ $i -ge $timeout ]; then
echo "[ fail ] timeout while expecting $expected max $max last $nr"
mptcp_lib_result_fail "${msg} # timeout"
- ret=$test_cnt
+ ret=$TEST_COUNT
elif [ $nr != $expected ]; then
echo "[ fail ] expected $expected found $nr"
mptcp_lib_result_fail "${msg} # unexpected result"
- ret=$test_cnt
+ ret=$TEST_COUNT
else
echo "[ ok ]"
mptcp_lib_result_pass "${msg}"
fi
- test_cnt=$((test_cnt+1))
+ TEST_COUNT=$((TEST_COUNT+1))
}
chk_msk_fallback_nr()
@@ -143,7 +143,7 @@ __chk_listen()
local expected=$2
local msg="$3"
- __chk_nr "ss -N $ns -Ml '$filter' | grep -c LISTEN" "$expected" "$msg" 0
+ __chk_nr "ss -N $ns1 -Ml '$filter' | grep -c LISTEN" "$expected" "$msg" 0
}
chk_msk_listen()
@@ -169,7 +169,7 @@ chk_msk_inuse()
local msg="$2"
local listen_nr
- listen_nr=$(ss -N "${ns}" -Ml | grep -c LISTEN)
+ listen_nr=$(ss -N "${ns1}" -Ml | grep -c LISTEN)
expected=$((expected + listen_nr))
for _ in $(seq 10); do
@@ -197,24 +197,24 @@ wait_connected()
}
trap cleanup EXIT
-ip netns add $ns
-ip -n $ns link set dev lo up
+ip netns add $ns1
+ip -n $ns1 link set dev lo up
echo "a" | \
timeout ${timeout_test} \
- ip netns exec $ns \
+ ip netns exec $ns1 \
./mptcp_connect -p 10000 -l -t ${timeout_poll} -w 20 \
0.0.0.0 >/dev/null &
-mptcp_lib_wait_local_port_listen $ns 10000
+mptcp_lib_wait_local_port_listen $ns1 10000
chk_msk_nr 0 "no msk on netns creation"
chk_msk_listen 10000
echo "b" | \
timeout ${timeout_test} \
- ip netns exec $ns \
+ ip netns exec $ns1 \
./mptcp_connect -p 10000 -r 0 -t ${timeout_poll} -w 20 \
127.0.0.1 >/dev/null &
-wait_connected $ns 10000
+wait_connected $ns1 10000
chk_msk_nr 2 "after MPC handshake "
chk_msk_remote_key_nr 2 "....chk remote_key"
chk_msk_fallback_nr 0 "....chk no fallback"
@@ -225,16 +225,16 @@ chk_msk_inuse 0 "....chk 0 msk in use after flush"
echo "a" | \
timeout ${timeout_test} \
- ip netns exec $ns \
+ ip netns exec $ns1 \
./mptcp_connect -p 10001 -l -s TCP -t ${timeout_poll} -w 20 \
0.0.0.0 >/dev/null &
-mptcp_lib_wait_local_port_listen $ns 10001
+mptcp_lib_wait_local_port_listen $ns1 10001
echo "b" | \
timeout ${timeout_test} \
- ip netns exec $ns \
+ ip netns exec $ns1 \
./mptcp_connect -p 10001 -r 0 -t ${timeout_poll} -w 20 \
127.0.0.1 >/dev/null &
-wait_connected $ns 10001
+wait_connected $ns1 10001
chk_msk_fallback_nr 1 "check fallback"
chk_msk_inuse 1 "....chk 1 msk in use"
flush_pids
@@ -245,16 +245,16 @@ NR_CLIENTS=100
for I in `seq 1 $NR_CLIENTS`; do
echo "a" | \
timeout ${timeout_test} \
- ip netns exec $ns \
+ ip netns exec $ns1 \
./mptcp_connect -p $((I+10001)) -l -w 20 \
-t ${timeout_poll} 0.0.0.0 >/dev/null &
done
-mptcp_lib_wait_local_port_listen $ns $((NR_CLIENTS + 10001))
+mptcp_lib_wait_local_port_listen $ns1 $((NR_CLIENTS + 10001))
for I in `seq 1 $NR_CLIENTS`; do
echo "b" | \
timeout ${timeout_test} \
- ip netns exec $ns \
+ ip netns exec $ns1 \
./mptcp_connect -p $((I+10001)) -w 20 \
-t ${timeout_poll} 127.0.0.1 >/dev/null &
done
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index c643872ddf47..3008f15c04f9 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -18,7 +18,7 @@ sec=$(date +%s)
rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
ns1="ns1-$rndh"
ns2="ns2-$rndh"
-ns_sbox="ns_sbox-$rndh"
+ns3="ns3-$rndh"
add_mark_rules()
{
@@ -41,7 +41,7 @@ add_mark_rules()
init()
{
local netns
- for netns in "$ns1" "$ns2" "$ns_sbox";do
+ for netns in "$ns1" "$ns2" "$ns3";do
ip netns add $netns || exit $ksft_skip
ip -net $netns link set lo up
ip netns exec $netns sysctl -q net.mptcp.enabled=1
@@ -80,7 +80,7 @@ init()
cleanup()
{
local netns
- for netns in "$ns1" "$ns2" "$ns_sbox"; do
+ for netns in "$ns1" "$ns2" "$ns3"; do
ip netns del $netns
done
rm -f "$cin" "$cout"
@@ -240,7 +240,7 @@ do_mptcp_sockopt_tests()
return
fi
- ip netns exec "$ns_sbox" ./mptcp_sockopt
+ ip netns exec "$ns3" ./mptcp_sockopt
lret=$?
if [ $lret -ne 0 ]; then
@@ -251,7 +251,7 @@ do_mptcp_sockopt_tests()
fi
mptcp_lib_result_pass "sockopt v4"
- ip netns exec "$ns_sbox" ./mptcp_sockopt -6
+ ip netns exec "$ns3" ./mptcp_sockopt -6
lret=$?
if [ $lret -ne 0 ]; then
@@ -282,7 +282,7 @@ run_tests()
do_tcpinq_test()
{
- ip netns exec "$ns_sbox" ./mptcp_inq "$@"
+ ip netns exec "$ns3" ./mptcp_inq "$@"
local lret=$?
if [ $lret -ne 0 ];then
ret=$lret
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index ae8ad5d6fb9d..6fc0e08985d2 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -12,7 +12,7 @@ capture=false
ksft_skip=4
timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
-test_cnt=1
+TEST_COUNT=1
ret=0
bail=0
slack=50
@@ -129,8 +129,8 @@ do_transfer()
local sin=$2
local max_time=$3
local port
- port=$((10000+$test_cnt))
- test_cnt=$((test_cnt+1))
+ port=$((10000+$TEST_COUNT))
+ TEST_COUNT=$((TEST_COUNT+1))
:> "$cout"
:> "$sout"
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 5921589f0db9..601421ed4e49 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -49,7 +49,7 @@ rndh=$(printf %x "$sec")-$(mktemp -u XXXXXX)
ns1="ns1-$rndh"
ns2="ns2-$rndh"
ret=0
-test_name=""
+TEST_NAME=""
_printf() {
stdbuf -o0 -e0 printf "${@}"
@@ -63,9 +63,9 @@ print_title()
# $1: test name
print_test()
{
- test_name="${1}"
+ TEST_NAME="${1}"
- _printf "%-63s" "${test_name}"
+ _printf "%-63s" "${TEST_NAME}"
}
print_results()
@@ -76,13 +76,13 @@ print_results()
test_pass()
{
print_results " OK "
- mptcp_lib_result_pass "${test_name}"
+ mptcp_lib_result_pass "${TEST_NAME}"
}
test_skip()
{
print_results "SKIP"
- mptcp_lib_result_skip "${test_name}"
+ mptcp_lib_result_skip "${TEST_NAME}"
}
# $1: msg
@@ -95,7 +95,7 @@ test_fail()
_printf "\t%s\n" "${1}"
fi
- mptcp_lib_result_fail "${test_name}"
+ mptcp_lib_result_fail "${TEST_NAME}"
}
# This function is used in the cleanup trap
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 05/13] selftests: mptcp: add mptcp_lib_echo_* helpers
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (3 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 04/13] selftests: mptcp: renames some variables Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 06/13] selftests: mptcp: print colored outputs Geliang Tang
` (7 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
The helpers mptcp_lib_print_* print the text with a newline, but
sometimes this EOL dosen't needed. So this patch adds another set
of helpers mptcp_lib_echo_*, do not output the trailing newline.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_lib.sh | 30 +++++++++++++++----
1 file changed, 24 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index ffd78187237b..7a68791c5773 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -33,25 +33,43 @@ else
readonly MPTCP_LIB_COLOR_RESET=
fi
+# mptcp_lib_echo_*: do not output the trailing newline
# $1: color, $2: text
-mptcp_lib_print_color() {
- echo -e "${MPTCP_LIB_START_PRINT:-}${*}${MPTCP_LIB_COLOR_RESET}"
+mptcp_lib_echo_color() {
+ echo -n -e "${MPTCP_LIB_START_PRINT:-}${*}${MPTCP_LIB_COLOR_RESET}"
}
+mptcp_lib_echo_ok() {
+ mptcp_lib_echo_color "${MPTCP_LIB_COLOR_GREEN}${*}"
+}
+
+mptcp_lib_echo_warn() {
+ mptcp_lib_echo_color "${MPTCP_LIB_COLOR_YELLOW}${*}"
+}
+
+mptcp_lib_echo_info() {
+ mptcp_lib_echo_color "${MPTCP_LIB_COLOR_BLUE}${*}"
+}
+
+mptcp_lib_echo_err() {
+ mptcp_lib_echo_color "${MPTCP_LIB_COLOR_RED}${*}"
+}
+
+# mptcp_lib_print_*: output with EOL
mptcp_lib_print_ok() {
- mptcp_lib_print_color "${MPTCP_LIB_COLOR_GREEN}${*}"
+ mptcp_lib_echo_ok "${*}\n"
}
mptcp_lib_print_warn() {
- mptcp_lib_print_color "${MPTCP_LIB_COLOR_YELLOW}${*}"
+ mptcp_lib_echo_warn "${*}\n"
}
mptcp_lib_print_info() {
- mptcp_lib_print_color "${MPTCP_LIB_COLOR_BLUE}${*}"
+ mptcp_lib_echo_info "${*}\n"
}
mptcp_lib_print_err() {
- mptcp_lib_print_color "${MPTCP_LIB_COLOR_RED}${*}"
+ mptcp_lib_echo_err "${*}\n"
}
# SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var can be set when validating all
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 06/13] selftests: mptcp: print colored outputs
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (4 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 05/13] selftests: mptcp: add mptcp_lib_echo_* helpers Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 07/13] selftests: mptcp: print TEST_COUNT in outputs Geliang Tang
` (6 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang, Matthieu Baerts
Use mptcp_lib_print_info(), _ok(), _warn(), and _err() helpers and
mptcp_lib_echo_* helper in the scripts diag.sh, mptcp_connect.sh,
mptcp_sockopt.sh, pm_netlink.sh, simult_flows.sh and userspace_pm.sh
to print test results with colors.
Having colors helps to quickly identify issues when looking at a long
list of output logs and results.
Reviewed-by: Matthieu Baerts <matttbe@kernel.org>
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/diag.sh | 12 ++++++------
.../selftests/net/mptcp/mptcp_connect.sh | 17 +++++++++--------
.../selftests/net/mptcp/mptcp_sockopt.sh | 6 +++---
tools/testing/selftests/net/mptcp/pm_netlink.sh | 6 +++---
.../testing/selftests/net/mptcp/simult_flows.sh | 4 ++--
.../testing/selftests/net/mptcp/userspace_pm.sh | 13 ++++---------
6 files changed, 27 insertions(+), 31 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index 043e199b0c62..0e8fbb55db8f 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -64,15 +64,15 @@ __chk_nr()
printf "%-50s" "$msg"
if [ $nr != $expected ]; then
if [ $nr = "$skip" ] && ! mptcp_lib_expect_all_features; then
- echo "[ skip ] Feature probably not supported"
+ mptcp_lib_print_warn "[ skip ] Feature probably not supported"
mptcp_lib_result_skip "${msg}"
else
- echo "[ fail ] expected $expected found $nr"
+ mptcp_lib_print_err "[ fail ] expected $expected found $nr"
mptcp_lib_result_fail "${msg}"
ret=$TEST_COUNT
fi
else
- echo "[ ok ]"
+ mptcp_lib_print_ok "[ ok ]"
mptcp_lib_result_pass "${msg}"
fi
TEST_COUNT=$((TEST_COUNT+1))
@@ -113,15 +113,15 @@ wait_msk_nr()
printf "%-50s" "$msg"
if [ $i -ge $timeout ]; then
- echo "[ fail ] timeout while expecting $expected max $max last $nr"
+ mptcp_lib_print_err "[ fail ] timeout while expecting $expected max $max last $nr"
mptcp_lib_result_fail "${msg} # timeout"
ret=$TEST_COUNT
elif [ $nr != $expected ]; then
- echo "[ fail ] expected $expected found $nr"
+ mptcp_lib_print_err "[ fail ] expected $expected found $nr"
mptcp_lib_result_fail "${msg} # unexpected result"
ret=$TEST_COUNT
else
- echo "[ ok ]"
+ mptcp_lib_print_ok "[ ok ]"
mptcp_lib_result_pass "${msg}"
fi
TEST_COUNT=$((TEST_COUNT+1))
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index 7898d62fce0b..b28d7d3ce4de 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -280,7 +280,8 @@ check_mptcp_disabled()
return 1
fi
- 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_print_ok "\t [ OK ]"
mptcp_lib_result_pass "New MPTCP socket can be blocked via sysctl"
return 0
}
@@ -496,7 +497,7 @@ do_transfer()
fi
if [ $retc -eq 0 ] && [ $rets -eq 0 ]; then
- printf "[ OK ]"
+ mptcp_lib_echo_ok "[ OK ]"
mptcp_lib_result_pass "${TEST_GROUP}: ${result_msg}"
else
mptcp_lib_result_fail "${TEST_GROUP}: ${result_msg}"
@@ -703,7 +704,7 @@ EOF
return
fi
- echo "INFO: test $msg"
+ mptcp_lib_print_info "INFO: test $msg"
TEST_COUNT=10000
local extra_args="-o TRANSPARENT"
@@ -730,7 +731,7 @@ run_tests_peekmode()
local peekmode="$1"
TEST_GROUP="peek mode: ${peekmode}"
- echo "INFO: with peek mode: ${peekmode}"
+ mptcp_lib_print_info "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,7 +746,7 @@ run_tests_mptfo()
return
fi
- echo "INFO: with MPTFO start"
+ mptcp_lib_print_info "INFO: with MPTFO start"
ip netns exec "$ns1" sysctl -q net.ipv4.tcp_fastopen=2
ip netns exec "$ns2" sysctl -q net.ipv4.tcp_fastopen=1
@@ -757,7 +758,7 @@ run_tests_mptfo()
ip netns exec "$ns1" sysctl -q net.ipv4.tcp_fastopen=0
ip netns exec "$ns2" sysctl -q net.ipv4.tcp_fastopen=0
- echo "INFO: with MPTFO end"
+ mptcp_lib_print_info "INFO: with MPTFO end"
}
run_tests_disconnect()
@@ -781,7 +782,7 @@ run_tests_disconnect()
cin_disconnect="$old_cin"
connect_per_transfer=3
- echo "INFO: disconnect"
+ mptcp_lib_print_info "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"
@@ -830,7 +831,7 @@ check_mptcp_disabled
stop_if_error "The kernel configuration is not valid for MPTCP"
-echo "INFO: validating network environment with pings"
+mptcp_lib_print_info "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
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index 3008f15c04f9..44095b274c40 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -291,7 +291,7 @@ do_tcpinq_test()
return $lret
fi
- echo "PASS: TCP_INQ cmsg/ioctl $@"
+ mptcp_lib_print_info "PASS: TCP_INQ cmsg/ioctl $@"
mptcp_lib_result_pass "TCP_INQ: $*"
return $lret
}
@@ -338,12 +338,12 @@ run_tests $ns1 $ns2 10.0.1.1
run_tests $ns1 $ns2 dead:beef:1::1
if [ $ret -eq 0 ];then
- echo "PASS: all packets had packet mark set"
+ mptcp_lib_print_info "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"
+ mptcp_lib_print_info "PASS: SOL_MPTCP getsockopt has expected information"
fi
do_tcpinq_tests
diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
index ed1e8380838a..3b0512ff5d54 100755
--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
+++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
@@ -59,15 +59,15 @@ check()
printf "%-50s" "$msg"
if [ $cmd_ret -ne 0 ]; then
- echo "[FAIL] command execution '$cmd' stderr "
+ mptcp_lib_print_err "[FAIL] command execution '$cmd' stderr "
cat $err
mptcp_lib_result_fail "${msg} # error ${cmd_ret}"
ret=1
elif [ "$out" = "$expected" ]; then
- echo "[ OK ]"
+ mptcp_lib_print_ok "[ OK ]"
mptcp_lib_result_pass "${msg}"
else
- echo -n "[FAIL] "
+ mptcp_lib_echo_err "[FAIL] "
echo "expected '$expected' got '$out'"
mptcp_lib_result_fail "${msg} # different output"
ret=1
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index 6fc0e08985d2..2ab0e649031a 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -189,12 +189,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_print_ok "[ OK ]"
cat "$capout"
return 0
fi
- echo " [ fail ]"
+ mptcp_lib_print_err " [ 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 = :$port"
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 601421ed4e49..613fdb289881 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -57,7 +57,7 @@ _printf() {
print_title()
{
- _printf "INFO: %s\n" "${1}"
+ mptcp_lib_print_info "INFO: ${1}"
}
# $1: test name
@@ -68,27 +68,22 @@ print_test()
_printf "%-63s" "${TEST_NAME}"
}
-print_results()
-{
- _printf "[%s]\n" "${1}"
-}
-
test_pass()
{
- print_results " OK "
+ mptcp_lib_print_ok "[ ok ]${1:+ ${*}}"
mptcp_lib_result_pass "${TEST_NAME}"
}
test_skip()
{
- print_results "SKIP"
+ mptcp_lib_print_warn "[skip]${1:+ ${*}}"
mptcp_lib_result_skip "${TEST_NAME}"
}
# $1: msg
test_fail()
{
- print_results "FAIL"
+ mptcp_lib_print_err "[fail]${1:+ ${*}}"
ret=1
if [ -n "${1}" ]; then
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 07/13] selftests: mptcp: print TEST_COUNT in outputs
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (5 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 06/13] selftests: mptcp: print colored outputs Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 08/13] selftests: mptcp: extract mptcp_lib_check_expected Geliang Tang
` (5 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch prints out TEST_COUNT for every tests in the scripts diag.sh,
mptcp_connect.sh, mptcp_sockopt.sh, pm_netlink.sh, simult_flows.sh and
userspace_pm.sh.
The output looks like:
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 ]
INFO: Init
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:14 10.0.2.2 (ns2) => ns1, reuse port [ ok ]
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/diag.sh | 6 +++---
.../selftests/net/mptcp/mptcp_connect.sh | 21 ++++++++++++-------
.../selftests/net/mptcp/mptcp_sockopt.sh | 15 +++++++++++++
.../testing/selftests/net/mptcp/pm_netlink.sh | 3 ++-
.../selftests/net/mptcp/simult_flows.sh | 6 +++---
.../selftests/net/mptcp/userspace_pm.sh | 4 +++-
6 files changed, 40 insertions(+), 15 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index 0e8fbb55db8f..697afb205374 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -7,7 +7,7 @@ sec=$(date +%s)
rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
ns1="ns1-$rndh"
ksft_skip=4
-TEST_COUNT=1
+TEST_COUNT=0
timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
ret=0
@@ -61,7 +61,7 @@ __chk_nr()
nr=$(eval $command)
- printf "%-50s" "$msg"
+ printf "%02u %-50s" "$((TEST_COUNT+1))" "$msg"
if [ $nr != $expected ]; then
if [ $nr = "$skip" ] && ! mptcp_lib_expect_all_features; then
mptcp_lib_print_warn "[ skip ] Feature probably not supported"
@@ -111,7 +111,7 @@ wait_msk_nr()
sleep 1
done
- printf "%-50s" "$msg"
+ printf "%02u %-50s" "$((TEST_COUNT+1))" "$msg"
if [ $i -ge $timeout ]; then
mptcp_lib_print_err "[ fail ] timeout while expecting $expected max $max last $nr"
mptcp_lib_result_fail "${msg} # timeout"
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index b28d7d3ce4de..74a94efe85f5 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -280,7 +280,8 @@ check_mptcp_disabled()
return 1
fi
- echo -n -e "New MPTCP socket can be blocked via sysctl\t\t"
+ TEST_COUNT=$((TEST_COUNT+1))
+ echo -n -e "0${TEST_COUNT} New MPTCP socket can be blocked via sysctl\t\t"
mptcp_lib_print_ok "\t [ OK ]"
mptcp_lib_result_pass "New MPTCP socket can be blocked via sysctl"
return 0
@@ -349,7 +350,8 @@ do_transfer()
local addr_port
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})"
+ result_msg="$(printf "%02u %.3s %-5s > %.3s (%-20s) %-5s" \
+ ${TEST_COUNT} ${connector_ns} ${cl_proto} ${listener_ns} ${addr_port} ${srv_proto})"
printf "%s\t" "${result_msg}"
if $capture; then
@@ -654,7 +656,8 @@ 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"
+ TEST_COUNT=$((TEST_COUNT+1))
+ echo "${TEST_COUNT} INFO: ${msg} not supported by the kernel: SKIP"
mptcp_lib_result_skip "${TEST_GROUP}"
return
fi
@@ -671,7 +674,8 @@ table inet mangle {
}
EOF
if [ $? -ne 0 ]; then
- echo "SKIP: $msg, could not load nft ruleset"
+ TEST_COUNT=$((TEST_COUNT+1))
+ echo "${TEST_COUNT} SKIP: $msg, could not load nft ruleset"
mptcp_lib_fail_if_expected_feature "nft rules"
mptcp_lib_result_skip "${TEST_GROUP}"
return
@@ -688,7 +692,8 @@ EOF
ip -net "$listener_ns" $r6flag rule add fwmark 1 lookup 100
if [ $? -ne 0 ]; then
ip netns exec "$listener_ns" nft flush ruleset
- echo "SKIP: $msg, ip $r6flag rule failed"
+ TEST_COUNT=$((TEST_COUNT+1))
+ echo "${TEST_COUNT} SKIP: $msg, ip $r6flag rule failed"
mptcp_lib_fail_if_expected_feature "ip rule"
mptcp_lib_result_skip "${TEST_GROUP}"
return
@@ -698,7 +703,8 @@ EOF
if [ $? -ne 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"
+ TEST_COUNT=$((TEST_COUNT+1))
+ echo "${TEST_COUNT} SKIP: $msg, ip route add local $local_addr failed"
mptcp_lib_fail_if_expected_feature "ip route"
mptcp_lib_result_skip "${TEST_GROUP}"
return
@@ -855,7 +861,8 @@ mptcp_lib_result_code "${ret}" "ping tests"
stop_if_error "Could not even run ping tests"
[ -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_COUNT=$((TEST_COUNT+1))
+echo -n "0${TEST_COUNT} INFO: Using loss of $tc_loss "
test "$tc_delay" -gt 0 && echo -n "delay $tc_delay ms "
reorder_delay=$(($tc_delay / 4))
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index 44095b274c40..b965c12470b5 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -184,6 +184,8 @@ do_transfer()
wait $spid
local rets=$?
+ TEST_COUNT=$((TEST_COUNT+1))
+ printf "%02u %-25s %35s" "$TEST_COUNT" "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
@@ -197,7 +199,10 @@ do_transfer()
ret=1
return 1
fi
+ mptcp_lib_print_ok "[ ok ]"
+ TEST_COUNT=$((TEST_COUNT+1))
+ printf "%02u %-25s %35s" "$TEST_COUNT" "mark ${ip}" " "
if [ $local_addr = "::" ];then
check_mark $listener_ns 6 || retc=1
check_mark $connector_ns 6 || retc=1
@@ -213,6 +218,7 @@ do_transfer()
mptcp_lib_result_code "${rets}" "transfer ${ip}"
if [ $retc -eq 0 ] && [ $rets -eq 0 ];then
+ mptcp_lib_print_ok "[ ok ]"
return 0
fi
@@ -243,23 +249,29 @@ do_mptcp_sockopt_tests()
ip netns exec "$ns3" ./mptcp_sockopt
lret=$?
+ TEST_COUNT=$((TEST_COUNT+1))
+ printf "%02u %-25s %35s" "$TEST_COUNT" "sockopt v4" " "
if [ $lret -ne 0 ]; then
echo "FAIL: SOL_MPTCP getsockopt" 1>&2
mptcp_lib_result_fail "sockopt v4"
ret=$lret
return
fi
+ mptcp_lib_print_ok "[ ok ]"
mptcp_lib_result_pass "sockopt v4"
ip netns exec "$ns3" ./mptcp_sockopt -6
lret=$?
+ TEST_COUNT=$((TEST_COUNT+1))
+ printf "%02u %-25s %35s" "$TEST_COUNT" "sockopt v6" " "
if [ $lret -ne 0 ]; then
echo "FAIL: SOL_MPTCP getsockopt (ipv6)" 1>&2
mptcp_lib_result_fail "sockopt v6"
ret=$lret
return
fi
+ mptcp_lib_print_ok "[ ok ]"
mptcp_lib_result_pass "sockopt v6"
}
@@ -282,6 +294,8 @@ run_tests()
do_tcpinq_test()
{
+ TEST_COUNT=$((TEST_COUNT+1))
+ printf "%02u %-25s %35s" "$TEST_COUNT" "TCP_INQ: $*" " "
ip netns exec "$ns3" ./mptcp_inq "$@"
local lret=$?
if [ $lret -ne 0 ];then
@@ -290,6 +304,7 @@ do_tcpinq_test()
mptcp_lib_result_fail "TCP_INQ: $*"
return $lret
fi
+ mptcp_lib_print_ok "[ ok ]"
mptcp_lib_print_info "PASS: TCP_INQ cmsg/ioctl $@"
mptcp_lib_result_pass "TCP_INQ: $*"
diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
index 3b0512ff5d54..853dbd2eef41 100755
--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
+++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
@@ -56,8 +56,9 @@ check()
local msg="$3"
local out=`$cmd 2>$err`
local cmd_ret=$?
+ TEST_COUNT=$((TEST_COUNT+1))
- printf "%-50s" "$msg"
+ printf "%2u %-47s" "$TEST_COUNT" "$msg"
if [ $cmd_ret -ne 0 ]; then
mptcp_lib_print_err "[FAIL] command execution '$cmd' stderr "
cat $err
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index 2ab0e649031a..938844477fe4 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -12,7 +12,7 @@ capture=false
ksft_skip=4
timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
-TEST_COUNT=1
+TEST_COUNT=0
ret=0
bail=0
slack=50
@@ -241,7 +241,7 @@ run_test()
# completion (see mptcp_connect): 200ms on each side, add some slack
time=$((time + 400 + slack))
- printf "%-60s" "$msg"
+ printf "%02u %-60s" "$((TEST_COUNT+1))" "$msg"
do_transfer $small $large $time
lret=$?
mptcp_lib_result_code "${lret}" "${msg}"
@@ -250,7 +250,7 @@ run_test()
[ $bail -eq 0 ] || exit $ret
fi
- printf "%-60s" "$msg - reverse direction"
+ printf "%02u %-60s" "$((TEST_COUNT+1))" "$msg - reverse direction"
do_transfer $large $small $time
lret=$?
mptcp_lib_result_code "${lret}" "${msg}"
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 613fdb289881..7f4aaca032dd 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -50,6 +50,7 @@ ns1="ns1-$rndh"
ns2="ns2-$rndh"
ret=0
TEST_NAME=""
+TEST_COUNT=0
_printf() {
stdbuf -o0 -e0 printf "${@}"
@@ -64,8 +65,9 @@ print_title()
print_test()
{
TEST_NAME="${1}"
+ TEST_COUNT=$((TEST_COUNT+1))
- _printf "%-63s" "${TEST_NAME}"
+ _printf "%02u %-63s" "${TEST_COUNT}" "${TEST_NAME}"
}
test_pass()
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 08/13] selftests: mptcp: extract mptcp_lib_check_expected
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (6 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 07/13] selftests: mptcp: print TEST_COUNT in outputs Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 09/13] selftests: mptcp: add mptcp_lib_verify_listener_events Geliang Tang
` (4 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Extract the main part of check_expected() in userspace_pm.sh to a new
function mptcp_lib_check_expected() in mptcp_lib.sh. It will be used
in both mptcp_john.sh and userspace_pm.sh.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_lib.sh | 42 +++++++++++++++++++
.../selftests/net/mptcp/userspace_pm.sh | 41 +++---------------
2 files changed, 47 insertions(+), 36 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 7a68791c5773..19e6ceb2b4b0 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -387,3 +387,45 @@ mptcp_lib_evts_remove() {
rm -rf "${server_evts}" "${client_evts}"
}
+
+# $1: var name ; $2: prev ret
+mptcp_lib_check_expected_one()
+{
+ local var="${1}"
+ local exp="e_${var}"
+ local prev_ret="${2}"
+
+ if [ "${!var}" = "${!exp}" ]
+ then
+ return 0
+ fi
+
+ if [ "${prev_ret}" = "0" ]
+ then
+ ret=1
+ fi
+
+ printf "\tExpected value for '%s': '%s', got '%s'.\n" \
+ "${var}" "${!exp}" "${!var}"
+ return 1
+}
+
+# $@: all var names to check
+mptcp_lib_check_expected()
+{
+ local rc=0
+ local var
+
+ for var in "${@}"
+ do
+ mptcp_lib_check_expected_one "${var}" "${rc}" || rc=1
+ done
+
+ if [ ${rc} -eq 0 ]
+ then
+ mptcp_lib_print_ok "[ ok ]"
+ return 0
+ fi
+
+ return 1
+}
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 7f4aaca032dd..cc6e8120ed10 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -233,46 +233,15 @@ make_connection()
fi
}
-# $1: var name ; $2: prev ret
-check_expected_one()
-{
- local var="${1}"
- local exp="e_${var}"
- local prev_ret="${2}"
-
- if [ "${!var}" = "${!exp}" ]
- then
- return 0
- fi
-
- if [ "${prev_ret}" = "0" ]
- then
- test_fail
- fi
-
- _printf "\tExpected value for '%s': '%s', got '%s'.\n" \
- "${var}" "${!exp}" "${!var}"
- return 1
-}
-
# $@: all var names to check
check_expected()
{
- local rc=0
- local var
-
- for var in "${@}"
- do
- check_expected_one "${var}" "${rc}" || rc=1
- done
-
- if [ ${rc} -eq 0 ]
- then
- test_pass
- return 0
+ mptcp_lib_check_expected ${*}
+ if [ $? -eq 0 ]; then
+ mptcp_lib_result_pass "${TEST_NAME}"
+ else
+ test_fail
fi
-
- return 1
}
verify_announce_event()
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 09/13] selftests: mptcp: add mptcp_lib_verify_listener_events
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (7 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 08/13] selftests: mptcp: extract mptcp_lib_check_expected Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 10/13] selftests: mptcp: add mptcp_lib_init_ns helper Geliang Tang
` (3 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
To avoid duplicated code in different MPTCP selftests, we can add and use
helpers defined in mptcp_lib.sh.
The helper verify_listener_events() is defined both in mptcp_join.sh and
userspace_pm.sh, export it into mptcp_lib.sh and rename it with mptcp_lib_
prefix. Use this new helper in both scripts.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 24 ++-------------
.../testing/selftests/net/mptcp/mptcp_lib.sh | 23 ++++++++++++++
.../selftests/net/mptcp/userspace_pm.sh | 30 ++++---------------
3 files changed, 31 insertions(+), 46 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 6d2e70785fdc..20e582d39653 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -2779,15 +2779,10 @@ backup_tests()
verify_listener_events()
{
- local evt=$1
local e_type=$2
local e_family=$3
local e_saddr=$4
local e_sport=$5
- local type
- local family
- local saddr
- local sport
local name
if [ $e_type = $MPTCP_LIB_LISTENER_CREATED ]; then
@@ -2805,23 +2800,8 @@ verify_listener_events()
return
fi
- type=$(mptcp_lib_evts_get_info type "$evt" "$e_type")
- family=$(mptcp_lib_evts_get_info family "$evt" "$e_type")
- sport=$(mptcp_lib_evts_get_info sport "$evt" "$e_type")
- if [ $family ] && [ $family = $AF_INET6 ]; then
- saddr=$(mptcp_lib_evts_get_info saddr6 "$evt" "$e_type")
- else
- saddr=$(mptcp_lib_evts_get_info saddr4 "$evt" "$e_type")
- fi
-
- if [ $type ] && [ $type = $e_type ] &&
- [ $family ] && [ $family = $e_family ] &&
- [ $saddr ] && [ $saddr = $e_saddr ] &&
- [ $sport ] && [ $sport = $e_sport ]; then
- print_ok
- return 0
- fi
- fail_test "$e_type:$type $e_family:$family $e_saddr:$saddr $e_sport:$sport"
+ mptcp_lib_verify_listener_events ${*}
+ [ $? -eq 1 ] && fail_test "$e_type $e_family $e_saddr $e_sport"
}
add_addr_ports_tests()
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 19e6ceb2b4b0..1617e1bd6785 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -429,3 +429,26 @@ mptcp_lib_check_expected()
return 1
}
+
+mptcp_lib_verify_listener_events() {
+ local evt=$1
+ local e_type=$2
+ local e_family=$3
+ local e_saddr=$4
+ local e_sport=$5
+ local type
+ local family
+ local saddr
+ local sport
+
+ type=$(mptcp_lib_evts_get_info type "$evt" "$e_type")
+ family=$(mptcp_lib_evts_get_info family "$evt" "$e_type")
+ if [ $family ] && [ $family = $AF_INET6 ]; then
+ saddr=$(mptcp_lib_evts_get_info saddr6 "$evt" "$e_type")
+ else
+ saddr=$(mptcp_lib_evts_get_info saddr4 "$evt" "$e_type")
+ fi
+ sport=$(mptcp_lib_evts_get_info sport "$evt" "$e_type")
+
+ mptcp_lib_check_expected "type" "family" "saddr" "sport"
+}
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index cc6e8120ed10..fba15905b890 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -840,32 +840,12 @@ test_prio()
verify_listener_events()
{
- local evt=$1
- local e_type=$2
- local e_family=$3
- local e_saddr=$4
- local e_sport=$5
- local type
- local family
- local saddr
- local sport
-
- if [ $e_type = $MPTCP_LIB_LISTENER_CREATED ]; then
- print_test "CREATE_LISTENER $e_saddr:$e_sport"
- elif [ $e_type = $MPTCP_LIB_LISTENER_CLOSED ]; then
- print_test "CLOSE_LISTENER $e_saddr:$e_sport"
- fi
-
- type=$(mptcp_lib_evts_get_info type $evt $e_type)
- family=$(mptcp_lib_evts_get_info family $evt $e_type)
- sport=$(mptcp_lib_evts_get_info sport $evt $e_type)
- if [ $family ] && [ $family = $AF_INET6 ]; then
- saddr=$(mptcp_lib_evts_get_info saddr6 $evt $e_type)
+ mptcp_lib_verify_listener_events ${*}
+ if [ $? -eq 0 ]; then
+ mptcp_lib_result_pass "${TEST_NAME}"
else
- saddr=$(mptcp_lib_evts_get_info saddr4 $evt $e_type)
+ test_fail
fi
-
- check_expected "type" "family" "saddr" "sport"
}
test_listener()
@@ -881,6 +861,7 @@ test_listener()
# Capture events on the network namespace running the client
:>$client_evts
+ print_test "Listener event LISTENER_CREATED 10.0.2.2:$client4_port"
# Attempt to add a listener at 10.0.2.2:<subflow-port>
ip netns exec $ns2 ./pm_nl_ctl listen 10.0.2.2\
$client4_port &
@@ -900,6 +881,7 @@ test_listener()
rport $client4_port token $server4_token
sleep 0.5
+ print_test "Listener event LISTENER_CLOSED 10.0.2.2:$client4_port"
# Delete the listener from the client ns, if one was created
mptcp_lib_kill_wait $listener_pid
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 10/13] selftests: mptcp: add mptcp_lib_init_ns helper
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (8 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 09/13] selftests: mptcp: add mptcp_lib_verify_listener_events Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 11/13] selftests: mptcp: export cin/cout/sin/sout vars Geliang Tang
` (2 subsequent siblings)
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Add a new helper mptcp_lib_init_ns in mptcp_lib.sh to init all namespaces
ns1, ns2, ns3 and ns4. Then every test script can invoke mptcp_lib_init_ns
and use all namespaces.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/diag.sh | 4 +---
.../selftests/net/mptcp/mptcp_connect.sh | 7 +------
.../testing/selftests/net/mptcp/mptcp_join.sh | 9 +--------
tools/testing/selftests/net/mptcp/mptcp_lib.sh | 18 ++++++++++++++++++
.../selftests/net/mptcp/mptcp_sockopt.sh | 6 +-----
.../testing/selftests/net/mptcp/pm_netlink.sh | 4 +---
.../selftests/net/mptcp/simult_flows.sh | 6 +-----
.../selftests/net/mptcp/userspace_pm.sh | 5 +----
8 files changed, 25 insertions(+), 34 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index 697afb205374..e28dce8f6f94 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -3,9 +3,7 @@
. "$(dirname "${0}")/mptcp_lib.sh"
-sec=$(date +%s)
-rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns1="ns1-$rndh"
+mptcp_lib_init_ns
ksft_skip=4
TEST_COUNT=0
timeout_poll=30
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index 74a94efe85f5..91f0fb386bdd 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -121,12 +121,7 @@ while getopts "$optstring" option;do
esac
done
-sec=$(date +%s)
-rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns1="ns1-$rndh"
-ns2="ns2-$rndh"
-ns3="ns3-$rndh"
-ns4="ns4-$rndh"
+mptcp_lib_init_ns
TEST_COUNT=0
TEST_GROUP=""
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 20e582d39653..e468be7becb4 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -22,8 +22,6 @@ cinsent=""
tmpfile=""
cout=""
capout=""
-ns1=""
-ns2=""
ksft_skip=4
iptables="iptables"
ip6tables="ip6tables"
@@ -79,12 +77,7 @@ init_partial()
{
capout=$(mktemp)
- local sec rndh
- sec=$(date +%s)
- rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-
- ns1="ns1-$rndh"
- ns2="ns2-$rndh"
+ mptcp_lib_init_ns
local netns
for netns in "$ns1" "$ns2"; do
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 1617e1bd6785..e200eaa2047c 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -452,3 +452,21 @@ mptcp_lib_verify_listener_events() {
mptcp_lib_check_expected "type" "family" "saddr" "sport"
}
+
+rndh=""
+ns1=""
+ns2=""
+ns3=""
+ns4=""
+
+mptcp_lib_init_ns() {
+ local sec
+
+ sec=$(date +%s)
+ rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
+
+ ns1="ns1-$rndh"
+ ns2="ns2-$rndh"
+ ns3="ns3-$rndh"
+ ns4="ns4-$rndh"
+}
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index b965c12470b5..ac907bd302a6 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -14,11 +14,7 @@ timeout_test=$((timeout_poll * 2 + 1))
iptables="iptables"
ip6tables="ip6tables"
-sec=$(date +%s)
-rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns1="ns1-$rndh"
-ns2="ns2-$rndh"
-ns3="ns3-$rndh"
+mptcp_lib_init_ns
add_mark_rules()
{
diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
index 853dbd2eef41..0b6e56be1207 100755
--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
+++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
@@ -24,9 +24,7 @@ while getopts "$optstring" option;do
esac
done
-sec=$(date +%s)
-rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns1="ns1-$rndh"
+mptcp_lib_init_ns
err=$(mktemp)
cleanup()
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index 938844477fe4..92b08750a16a 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -3,11 +3,7 @@
. "$(dirname "${0}")/mptcp_lib.sh"
-sec=$(date +%s)
-rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns1="ns1-$rndh"
-ns2="ns2-$rndh"
-ns3="ns3-$rndh"
+mptcp_lib_init_ns
capture=false
ksft_skip=4
timeout_poll=30
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index fba15905b890..263a3ac9a3ee 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -44,10 +44,7 @@ app6_port=50004
client_addr_id=${RANDOM:0:2}
server_addr_id=${RANDOM:0:2}
-sec=$(date +%s)
-rndh=$(printf %x "$sec")-$(mktemp -u XXXXXX)
-ns1="ns1-$rndh"
-ns2="ns2-$rndh"
+mptcp_lib_init_ns
ret=0
TEST_NAME=""
TEST_COUNT=0
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 11/13] selftests: mptcp: export cin/cout/sin/sout vars
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (9 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 10/13] selftests: mptcp: add mptcp_lib_init_ns helper Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 12/13] selftests: mptcp: export more vars into mptcp_lib Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 13/13] selftests: mptcp: use KSFT_SKIP instead ksft_skip Geliang Tang
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Export cin, cout, sin and sout vars into mptcp_lib.sh as public vars.
Then they can be used in all test script unified.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/mptcp_connect.sh | 8 --------
tools/testing/selftests/net/mptcp/mptcp_join.sh | 8 --------
tools/testing/selftests/net/mptcp/mptcp_lib.sh | 5 +++++
tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 8 --------
tools/testing/selftests/net/mptcp/simult_flows.sh | 2 --
5 files changed, 5 insertions(+), 26 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index 91f0fb386bdd..da932176c85d 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -8,11 +8,7 @@ time_start=$(date +%s)
optstring="S:R:d:e:l:r:h4cm:f:tC"
ret=0
final_ret=0
-sin=""
-sout=""
cin_disconnect=""
-cin=""
-cout=""
ksft_skip=4
capture=false
timeout_poll=30
@@ -149,10 +145,6 @@ if [ $? -ne 0 ];then
exit $ksft_skip
fi
-sin=$(mktemp)
-sout=$(mktemp)
-cin=$(mktemp)
-cout=$(mktemp)
capout=$(mktemp)
cin_disconnect="$cin".disconnect
cout_disconnect="$cout".disconnect
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index e468be7becb4..4aac1bce8aec 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -13,14 +13,10 @@
. "$(dirname "${0}")/mptcp_lib.sh"
ret=0
-sin=""
sinfail=""
-sout=""
-cin=""
cinfail=""
cinsent=""
tmpfile=""
-cout=""
capout=""
ksft_skip=4
iptables="iptables"
@@ -166,11 +162,7 @@ init() {
check_tools
- sin=$(mktemp)
- sout=$(mktemp)
- cin=$(mktemp)
cinsent=$(mktemp)
- cout=$(mktemp)
mptcp_lib_evts_init
trap cleanup EXIT
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index e200eaa2047c..53e69fc807a6 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -17,6 +17,11 @@ readonly AF_INET6=10
MPTCP_LIB_SUBTESTS=()
+sin=$(mktemp)
+sout=$(mktemp)
+cin=$(mktemp)
+cout=$(mktemp)
+
# only if supported (or forced) and not disabled, see no-color.org
if { [ -t 1 ] || [ "${SELFTESTS_MPTCP_LIB_COLOR_FORCE:-}" = "1" ]; } &&
[ "${NO_COLOR:-}" != "1" ]; then
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index ac907bd302a6..780ceb9314b9 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -4,10 +4,6 @@
. "$(dirname "${0}")/mptcp_lib.sh"
ret=0
-sin=""
-sout=""
-cin=""
-cout=""
ksft_skip=4
timeout_poll=30
timeout_test=$((timeout_poll * 2 + 1))
@@ -336,10 +332,6 @@ do_tcpinq_tests()
return $?
}
-sin=$(mktemp)
-sout=$(mktemp)
-cin=$(mktemp)
-cout=$(mktemp)
init
make_file "$cin" "client" 1
make_file "$sin" "server" 1
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index 92b08750a16a..0a06b7f41650 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -50,8 +50,6 @@ setup()
{
large=$(mktemp)
small=$(mktemp)
- sout=$(mktemp)
- cout=$(mktemp)
capout=$(mktemp)
size=$((2 * 2048 * 4096))
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 12/13] selftests: mptcp: export more vars into mptcp_lib
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (10 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 11/13] selftests: mptcp: export cin/cout/sin/sout vars Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 14:11 ` [PATCH mptcp-next 13/13] selftests: mptcp: use KSFT_SKIP instead ksft_skip Geliang Tang
12 siblings, 0 replies; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Move the variables 'TEST_NAME' and 'TEST_COUNT', 'ret', 'capture' and
'checksum', 'timeout_poll' and 'timeout_test', 'iptables' and 'ip6tables'
into mptcp_lib.sh as public variables.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/diag.sh | 4 ----
tools/testing/selftests/net/mptcp/mptcp_connect.sh | 6 ------
tools/testing/selftests/net/mptcp/mptcp_join.sh | 9 ---------
tools/testing/selftests/net/mptcp/mptcp_lib.sh | 14 ++++++++++++++
tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 5 -----
tools/testing/selftests/net/mptcp/pm_netlink.sh | 1 -
tools/testing/selftests/net/mptcp/simult_flows.sh | 5 -----
tools/testing/selftests/net/mptcp/userspace_pm.sh | 3 ---
8 files changed, 14 insertions(+), 33 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index e28dce8f6f94..6c5f84f59898 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -5,10 +5,6 @@
mptcp_lib_init_ns
ksft_skip=4
-TEST_COUNT=0
-timeout_poll=30
-timeout_test=$((timeout_poll * 2 + 1))
-ret=0
flush_pids()
{
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index da932176c85d..a926493a349e 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -6,13 +6,9 @@
time_start=$(date +%s)
optstring="S:R:d:e:l:r:h4cm:f:tC"
-ret=0
final_ret=0
cin_disconnect=""
ksft_skip=4
-capture=false
-timeout_poll=30
-timeout_test=$((timeout_poll * 2 + 1))
ipv6=true
ethtool_random_on=true
tc_delay="$((RANDOM%50))"
@@ -22,7 +18,6 @@ sndbuf=0
rcvbuf=0
options_log=true
do_tcp=0
-checksum=false
filesize=0
connect_per_transfer=1
@@ -119,7 +114,6 @@ done
mptcp_lib_init_ns
-TEST_COUNT=0
TEST_GROUP=""
cleanup()
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 4aac1bce8aec..f11d47354937 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -12,19 +12,12 @@
. "$(dirname "${0}")/mptcp_lib.sh"
-ret=0
sinfail=""
cinfail=""
cinsent=""
tmpfile=""
capout=""
ksft_skip=4
-iptables="iptables"
-ip6tables="ip6tables"
-timeout_poll=30
-timeout_test=$((timeout_poll * 2 + 1))
-capture=false
-checksum=false
ip_mptcp=0
check_invert=0
validate_checksum=false
@@ -37,8 +30,6 @@ declare -A all_tests
declare -a only_tests_ids
declare -a only_tests_names
declare -A failed_tests
-TEST_COUNT=0
-TEST_NAME=""
nr_blank=6
# These var are used only in some tests, make sure they are not already set
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 53e69fc807a6..ae394d5e1735 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -17,6 +17,20 @@ readonly AF_INET6=10
MPTCP_LIB_SUBTESTS=()
+TEST_NAME=""
+TEST_COUNT=0
+
+ret=0
+
+capture=false
+checksum=false
+
+readonly timeout_poll=30
+timeout_test=$((timeout_poll * 2 + 1))
+
+iptables="iptables"
+ip6tables="ip6tables"
+
sin=$(mktemp)
sout=$(mktemp)
cin=$(mktemp)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index 780ceb9314b9..019d4dc91d70 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -3,12 +3,7 @@
. "$(dirname "${0}")/mptcp_lib.sh"
-ret=0
ksft_skip=4
-timeout_poll=30
-timeout_test=$((timeout_poll * 2 + 1))
-iptables="iptables"
-ip6tables="ip6tables"
mptcp_lib_init_ns
diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
index 0b6e56be1207..208669f474cf 100755
--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
+++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
@@ -4,7 +4,6 @@
. "$(dirname "${0}")/mptcp_lib.sh"
ksft_skip=4
-ret=0
usage() {
echo "Usage: $0 [ -h ]"
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index 0a06b7f41650..ad589c7699a1 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -4,12 +4,7 @@
. "$(dirname "${0}")/mptcp_lib.sh"
mptcp_lib_init_ns
-capture=false
ksft_skip=4
-timeout_poll=30
-timeout_test=$((timeout_poll * 2 + 1))
-TEST_COUNT=0
-ret=0
bail=0
slack=50
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 263a3ac9a3ee..021d570df234 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -45,9 +45,6 @@ client_addr_id=${RANDOM:0:2}
server_addr_id=${RANDOM:0:2}
mptcp_lib_init_ns
-ret=0
-TEST_NAME=""
-TEST_COUNT=0
_printf() {
stdbuf -o0 -e0 printf "${@}"
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH mptcp-next 13/13] selftests: mptcp: use KSFT_SKIP instead ksft_skip
2023-11-08 14:11 [PATCH mptcp-next 00/13] add helpers and vars in mptcp_lib.sh Geliang Tang
` (11 preceding siblings ...)
2023-11-08 14:11 ` [PATCH mptcp-next 12/13] selftests: mptcp: export more vars into mptcp_lib Geliang Tang
@ 2023-11-08 14:11 ` Geliang Tang
2023-11-08 15:24 ` selftests: mptcp: use KSFT_SKIP instead ksft_skip: Tests Results MPTCP CI
12 siblings, 1 reply; 15+ messages in thread
From: Geliang Tang @ 2023-11-08 14:11 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch uses the public var KSFT_SKIP in mptcp_lib.sh instead of
ksft_skip, and drop every 'ksft_skip=4'.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/diag.sh | 5 ++---
.../selftests/net/mptcp/mptcp_connect.sh | 7 +++----
tools/testing/selftests/net/mptcp/mptcp_join.sh | 17 ++++++++---------
.../selftests/net/mptcp/mptcp_sockopt.sh | 10 ++++------
tools/testing/selftests/net/mptcp/pm_netlink.sh | 6 ++----
.../testing/selftests/net/mptcp/simult_flows.sh | 5 ++---
6 files changed, 21 insertions(+), 29 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index 6c5f84f59898..c114434954ae 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -4,7 +4,6 @@
. "$(dirname "${0}")/mptcp_lib.sh"
mptcp_lib_init_ns
-ksft_skip=4
flush_pids()
{
@@ -32,12 +31,12 @@ mptcp_lib_check_mptcp
ip -Version > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "SKIP: Could not run test without ip tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
ss -h | grep -q MPTCP
if [ $? -ne 0 ];then
echo "SKIP: ss tool does not support MPTCP"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
get_msk_inuse()
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index a926493a349e..e41f96254f84 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -8,7 +8,6 @@ time_start=$(date +%s)
optstring="S:R:d:e:l:r:h4cm:f:tC"
final_ret=0
cin_disconnect=""
-ksft_skip=4
ipv6=true
ethtool_random_on=true
tc_delay="$((RANDOM%50))"
@@ -136,7 +135,7 @@ mptcp_lib_check_kallsyms
ip -Version > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "SKIP: Could not run test without ip tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
capout=$(mktemp)
@@ -145,7 +144,7 @@ cout_disconnect="$cout".disconnect
trap cleanup EXIT
for i in "$ns1" "$ns2" "$ns3" "$ns4";do
- ip netns add $i || exit $ksft_skip
+ ip netns add $i || exit ${KSFT_SKIP}
ip -net $i link set lo up
done
@@ -238,7 +237,7 @@ fi
check_mptcp_disabled()
{
local disabled_ns="ns_disabled-$rndh"
- ip netns add ${disabled_ns} || exit $ksft_skip
+ ip netns add ${disabled_ns} || exit ${KSFT_SKIP}
# net.mptcp.enabled should be enabled by default
if [ "$(ip netns exec ${disabled_ns} sysctl net.mptcp.enabled | awk '{ print $3 }')" -ne 1 ]; then
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index f11d47354937..3dfe20b00220 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -17,7 +17,6 @@ cinfail=""
cinsent=""
tmpfile=""
capout=""
-ksft_skip=4
ip_mptcp=0
check_invert=0
validate_checksum=false
@@ -68,7 +67,7 @@ init_partial()
local netns
for netns in "$ns1" "$ns2"; do
- ip netns add $netns || exit $ksft_skip
+ ip netns add $netns || exit ${KSFT_SKIP}
ip -net $netns link set lo up
ip netns exec $netns sysctl -q net.mptcp.enabled=1
ip netns exec $netns sysctl -q net.mptcp.pm_type=0 2>/dev/null || true
@@ -132,7 +131,7 @@ check_tools()
if ! ip -Version &> /dev/null; then
echo "SKIP: Could not run test without ip tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
# Use the legacy version if available to support old kernel versions
@@ -141,10 +140,10 @@ check_tools()
ip6tables="ip6tables-legacy"
elif ! iptables -V &> /dev/null; then
echo "SKIP: Could not run all tests without iptables tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
elif ! ip6tables -V &> /dev/null; then
echo "SKIP: Could not run all tests without ip6tables tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
}
@@ -399,15 +398,15 @@ setup_fail_rules()
-p tcp \
-m length --length 150:9999 \
-m statistic --mode nth --packet 1 --every 99999 \
- -j MARK --set-mark 42 || return ${ksft_skip}
+ -j MARK --set-mark 42 || return ${KSFT_SKIP}
- tc -n $ns2 qdisc add dev ns2eth$i clsact || return ${ksft_skip}
+ tc -n $ns2 qdisc add dev ns2eth$i clsact || return ${KSFT_SKIP}
tc -n $ns2 filter add dev ns2eth$i egress \
protocol ip prio 1000 \
handle 42 fw \
action pedit munge offset 148 u8 invert \
pipe csum tcp \
- index 100 || return ${ksft_skip}
+ index 100 || return ${KSFT_SKIP}
}
reset_with_fail()
@@ -421,7 +420,7 @@ reset_with_fail()
local rc=0
setup_fail_rules "${@}" || rc=$?
- if [ ${rc} -eq ${ksft_skip} ]; then
+ if [ ${rc} -eq ${KSFT_SKIP} ]; then
mark_as_skipped "unable to set the 'fail' rules"
return 1
fi
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index 019d4dc91d70..fccc5c504050 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -3,8 +3,6 @@
. "$(dirname "${0}")/mptcp_lib.sh"
-ksft_skip=4
-
mptcp_lib_init_ns
add_mark_rules()
@@ -29,7 +27,7 @@ init()
{
local netns
for netns in "$ns1" "$ns2" "$ns3";do
- ip netns add $netns || exit $ksft_skip
+ ip netns add $netns || exit ${KSFT_SKIP}
ip -net $netns link set lo up
ip netns exec $netns sysctl -q net.mptcp.enabled=1
ip netns exec $netns sysctl -q net.ipv4.conf.all.rp_filter=0
@@ -80,7 +78,7 @@ mptcp_lib_check_kallsyms
ip -Version > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "SKIP: Could not run test without ip tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
# Use the legacy version if available to support old kernel versions
@@ -89,10 +87,10 @@ if iptables-legacy -V &> /dev/null; then
ip6tables="ip6tables-legacy"
elif ! iptables -V &> /dev/null; then
echo "SKIP: Could not run all tests without iptables tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
elif ! ip6tables -V &> /dev/null; then
echo "SKIP: Could not run all tests without ip6tables tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
check_mark()
diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
index 208669f474cf..422aac2bfaf6 100755
--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
+++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
@@ -3,8 +3,6 @@
. "$(dirname "${0}")/mptcp_lib.sh"
-ksft_skip=4
-
usage() {
echo "Usage: $0 [ -h ]"
}
@@ -37,12 +35,12 @@ mptcp_lib_check_mptcp
ip -Version > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "SKIP: Could not run test without ip tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
trap cleanup EXIT
-ip netns add $ns1 || exit $ksft_skip
+ip netns add $ns1 || exit ${KSFT_SKIP}
ip -net $ns1 link set lo up
ip netns exec $ns1 sysctl -q net.mptcp.enabled=1
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index ad589c7699a1..1fb2cb5d6b5f 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -4,7 +4,6 @@
. "$(dirname "${0}")/mptcp_lib.sh"
mptcp_lib_init_ns
-ksft_skip=4
bail=0
slack=50
@@ -32,7 +31,7 @@ mptcp_lib_check_mptcp
ip -Version > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "SKIP: Could not run test without ip tool"
- exit $ksft_skip
+ exit ${KSFT_SKIP}
fi
# "$ns1" ns2 ns3
@@ -54,7 +53,7 @@ setup()
trap cleanup EXIT
for i in "$ns1" "$ns2" "$ns3";do
- ip netns add $i || exit $ksft_skip
+ ip netns add $i || exit ${KSFT_SKIP}
ip -net $i link set lo up
ip netns exec $i sysctl -q net.ipv4.conf.all.rp_filter=0
ip netns exec $i sysctl -q net.ipv4.conf.default.rp_filter=0
--
2.35.3
^ permalink raw reply related [flat|nested] 15+ messages in thread