MPTCP Linux Development
 help / color / mirror / Atom feed
* [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2
@ 2024-02-21  7:06 Geliang Tang
  2024-02-21  7:06 ` [PATCH mptcp-next v3 1/3] selftests: mptcp: connect: add local variable rndh Geliang Tang
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Geliang Tang @ 2024-02-21  7:06 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

From: Geliang Tang <tanggeliang@kylinos.cn>

v3:
 - patch #2, drop this line in mptcp_lib_ns_exit():
	rm -f /tmp/"$netns".{nstat,out}

Depends on:
 - dump for userspace pm, v14

Geliang Tang (3):
  selftests: mptcp: connect: add local variable rndh
  selftests: mptcp: add mptcp_lib_ns_* helpers
  selftests: mptcp: add mptcp_lib_evts_* helpers

 tools/testing/selftests/net/mptcp/diag.sh     |  9 +--
 .../selftests/net/mptcp/mptcp_connect.sh      | 25 +++---
 .../testing/selftests/net/mptcp/mptcp_join.sh | 27 ++-----
 .../testing/selftests/net/mptcp/mptcp_lib.sh  | 78 +++++++++++++++++++
 .../selftests/net/mptcp/mptcp_sockopt.sh      | 16 ++--
 .../testing/selftests/net/mptcp/pm_netlink.sh |  9 +--
 .../selftests/net/mptcp/simult_flows.sh       | 16 ++--
 .../selftests/net/mptcp/userspace_pm.sh       | 42 +++-------
 8 files changed, 122 insertions(+), 100 deletions(-)

-- 
2.40.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH mptcp-next v3 1/3] selftests: mptcp: connect: add local variable rndh
  2024-02-21  7:06 [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2 Geliang Tang
@ 2024-02-21  7:06 ` Geliang Tang
  2024-02-21 12:15   ` Matthieu Baerts
  2024-02-21  7:06 ` [PATCH mptcp-next v3 2/3] selftests: mptcp: add mptcp_lib_ns_* helpers Geliang Tang
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Geliang Tang @ 2024-02-21  7:06 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

From: Geliang Tang <tanggeliang@kylinos.cn>

This patch adds a local variable rndh in do_transfer(), setting it with
${connector_ns:4}, not the global variable rndh. The global one is hidden
in the next commit.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 tools/testing/selftests/net/mptcp/mptcp_connect.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index ea52110c3fbc..b609649311f6 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -348,6 +348,7 @@ do_transfer()
 
 	if $capture; then
 		local capuser
+		local rndh="${connector_ns:4}"
 		if [ -z $SUDO_USER ] ; then
 			capuser=""
 		else
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH mptcp-next v3 2/3] selftests: mptcp: add mptcp_lib_ns_* helpers
  2024-02-21  7:06 [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2 Geliang Tang
  2024-02-21  7:06 ` [PATCH mptcp-next v3 1/3] selftests: mptcp: connect: add local variable rndh Geliang Tang
@ 2024-02-21  7:06 ` Geliang Tang
  2024-02-21 12:16   ` Matthieu Baerts
  2024-02-21  7:06 ` [PATCH mptcp-next v3 3/3] selftests: mptcp: add mptcp_lib_evts_* helpers Geliang Tang
  2024-02-21 12:14 ` [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2 Matthieu Baerts
  3 siblings, 1 reply; 9+ messages in thread
From: Geliang Tang @ 2024-02-21  7:06 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

From: Geliang Tang <tanggeliang@kylinos.cn>

Add helpers mptcp_lib_ns_init() and mptcp_lib_ns_exit() in mptcp_lib.sh to
initialize and delete the given namespaces. Then every test script can
invoke these helpers and use all namespaces.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 tools/testing/selftests/net/mptcp/diag.sh     |  9 +++----
 .../selftests/net/mptcp/mptcp_connect.sh      | 24 +++++++------------
 .../testing/selftests/net/mptcp/mptcp_join.sh | 11 ++-------
 .../testing/selftests/net/mptcp/mptcp_lib.sh  | 23 ++++++++++++++++++
 .../selftests/net/mptcp/mptcp_sockopt.sh      | 16 ++++---------
 .../testing/selftests/net/mptcp/pm_netlink.sh |  9 +++----
 .../selftests/net/mptcp/simult_flows.sh       | 16 ++++---------
 .../selftests/net/mptcp/userspace_pm.sh       | 14 ++++-------
 8 files changed, 54 insertions(+), 68 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
index 60a7009ce1b5..162d7b90c3f5 100755
--- a/tools/testing/selftests/net/mptcp/diag.sh
+++ b/tools/testing/selftests/net/mptcp/diag.sh
@@ -3,9 +3,8 @@
 
 . "$(dirname "${0}")/mptcp_lib.sh"
 
-sec=$(date +%s)
-rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns="ns1-$rndh"
+ns=""
+mptcp_lib_ns_init ns
 ksft_skip=4
 test_cnt=1
 timeout_poll=30
@@ -30,7 +29,7 @@ cleanup()
 {
 	ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null
 
-	ip netns del $ns
+	mptcp_lib_ns_exit "${ns}"
 }
 
 mptcp_lib_check_mptcp
@@ -205,8 +204,6 @@ wait_connected()
 }
 
 trap cleanup EXIT
-ip netns add $ns
-ip -n $ns link set dev lo up
 
 echo "a" | \
 	timeout ${timeout_test} \
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index b609649311f6..6900f7f4d88d 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -121,12 +121,11 @@ 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"
+ns1=""
+ns2=""
+ns3=""
+ns4=""
+mptcp_lib_ns_init ns1 ns2 ns3 ns4
 
 TEST_COUNT=0
 TEST_GROUP=""
@@ -140,9 +139,9 @@ cleanup()
 
 	local netns
 	for netns in "$ns1" "$ns2" "$ns3" "$ns4";do
-		ip netns del $netns
 		rm -f /tmp/$netns.{nstat,out}
 	done
+	mptcp_lib_ns_exit "${ns1}" "${ns2}" "${ns3}" "${ns4}"
 }
 
 mptcp_lib_check_mptcp
@@ -158,11 +157,6 @@ cin_disconnect="$cin".disconnect
 cout_disconnect="$cout".disconnect
 trap cleanup EXIT
 
-for i in "$ns1" "$ns2" "$ns3" "$ns4";do
-	ip netns add $i || exit $ksft_skip
-	ip -net $i link set lo up
-done
-
 #  "$ns1"              ns2                    ns3                     ns4
 # ns1eth2    ns2eth1   ns2eth3      ns3eth2   ns3eth4       ns4eth3
 #                           - drop 1% ->            reorder 25%
@@ -251,8 +245,8 @@ fi
 
 check_mptcp_disabled()
 {
-	local disabled_ns="ns_disabled-$rndh"
-	ip netns add ${disabled_ns} || exit $ksft_skip
+	local disabled_ns=""
+	mptcp_lib_ns_init disabled_ns
 
 	# net.mptcp.enabled should be enabled by default
 	if [ "$(ip netns exec ${disabled_ns} sysctl net.mptcp.enabled | awk '{ print $3 }')" -ne 1 ]; then
@@ -266,7 +260,7 @@ check_mptcp_disabled()
 	local err=0
 	LC_ALL=C ip netns exec ${disabled_ns} ./mptcp_connect -p 10000 -s MPTCP 127.0.0.1 < "$cin" 2>&1 | \
 		grep -q "^socket: Protocol not available$" && err=1
-	ip netns delete ${disabled_ns}
+	mptcp_lib_ns_exit "${disabled_ns}"
 
 	if [ ${err} -eq 0 ]; then
 		echo -e "New MPTCP socket cannot be blocked via sysctl\t\t[ FAIL ]"
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 9f1476f0e2ae..bea7627c7313 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -86,17 +86,10 @@ 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_ns_init ns1 ns2
 
 	local netns
 	for netns in "$ns1" "$ns2"; 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
 		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
@@ -147,9 +140,9 @@ cleanup_partial()
 
 	local netns
 	for netns in "$ns1" "$ns2"; do
-		ip netns del $netns
 		rm -f /tmp/$netns.{nstat,out}
 	done
+	mptcp_lib_ns_exit "${ns1}" "${ns2}"
 }
 
 init() {
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 556a7d9784d7..14c0b97a153e 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -373,3 +373,26 @@ mptcp_lib_check_output() {
 		return 1
 	fi
 }
+
+mptcp_lib_ns_init() {
+	local sec
+	local rndh=""
+
+	sec=$(date +%s)
+	rndh=$(printf %x "$sec")-$(mktemp -u XXXXXX)
+
+	local netns
+	for netns in "${@}"; do
+		eval "${netns}=${netns}-${rndh}"
+
+		ip netns add "${!netns}" || exit ${KSFT_SKIP}
+		ip -net "${!netns}" link set lo up
+	done
+}
+
+mptcp_lib_ns_exit() {
+	local netns
+	for netns in "${@}"; do
+		ip netns del "$netns"
+	done
+}
diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
index fd7de1b3dc55..58bf83d4e7fa 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
@@ -14,11 +14,10 @@ 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"
-ns_sbox="ns_sbox-$rndh"
+ns1=""
+ns2=""
+ns_sbox=""
+mptcp_lib_ns_init ns1 ns2 ns_sbox
 
 add_mark_rules()
 {
@@ -42,8 +41,6 @@ init()
 {
 	local netns
 	for netns in "$ns1" "$ns2" "$ns_sbox";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
 		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
@@ -79,10 +76,7 @@ init()
 
 cleanup()
 {
-	local netns
-	for netns in "$ns1" "$ns2" "$ns_sbox"; do
-		ip netns del $netns
-	done
+	mptcp_lib_ns_exit "${ns1}" "${ns2}" "${ns_sbox}"
 	rm -f "$cin" "$cout"
 	rm -f "$sin" "$sout"
 }
diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
index 1ec9d8622fc9..c117eea92b6a 100755
--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
+++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
@@ -24,15 +24,14 @@ while getopts "$optstring" option;do
 	esac
 done
 
-sec=$(date +%s)
-rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns1="ns1-$rndh"
+ns1=""
+mptcp_lib_ns_init ns1
 err=$(mktemp)
 
 cleanup()
 {
 	rm -f $err
-	ip netns del $ns1
+	mptcp_lib_ns_exit "${ns1}"
 }
 
 mptcp_lib_check_mptcp
@@ -40,8 +39,6 @@ mptcp_lib_check_tools ip
 
 trap cleanup EXIT
 
-ip netns add $ns1 || exit $ksft_skip
-ip -net $ns1 link set lo up
 ip netns exec $ns1 sysctl -q net.mptcp.enabled=1
 
 check()
diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
index 7d8388ecc966..67cddd40f211 100755
--- a/tools/testing/selftests/net/mptcp/simult_flows.sh
+++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
@@ -3,11 +3,10 @@
 
 . "$(dirname "${0}")/mptcp_lib.sh"
 
-sec=$(date +%s)
-rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
-ns1="ns1-$rndh"
-ns2="ns2-$rndh"
-ns3="ns3-$rndh"
+ns1=""
+ns2=""
+ns3=""
+mptcp_lib_ns_init ns1 ns2 ns3
 capture=false
 ksft_skip=4
 timeout_poll=30
@@ -36,10 +35,7 @@ cleanup()
 	rm -f "$large" "$small"
 	rm -f "$capout"
 
-	local netns
-	for netns in "$ns1" "$ns2" "$ns3";do
-		ip netns del $netns
-	done
+	mptcp_lib_ns_exit "${ns1}" "${ns2}" "${ns3}"
 }
 
 mptcp_lib_check_mptcp
@@ -66,8 +62,6 @@ setup()
 	trap cleanup EXIT
 
 	for i in "$ns1" "$ns2" "$ns3";do
-		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
 	done
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 629fc5d0ecc5..10074709420a 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -50,10 +50,9 @@ 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"
+ns1=""
+ns2=""
+mptcp_lib_ns_init ns1 ns2
 ret=0
 test_name=""
 
@@ -118,10 +117,7 @@ cleanup()
 		mptcp_lib_kill_wait $pid
 	done
 
-	local netns
-	for netns in "$ns1" "$ns2" ;do
-		ip netns del "$netns"
-	done
+	mptcp_lib_ns_exit "${ns1}" "${ns2}"
 
 	rm -rf $file $client_evts $server_evts
 
@@ -132,8 +128,6 @@ trap cleanup EXIT
 
 # Create and configure network namespaces for testing
 for i in "$ns1" "$ns2" ;do
-	ip netns add "$i" || exit 1
-	ip -net "$i" link set lo up
 	ip netns exec "$i" sysctl -q net.mptcp.enabled=1
 	ip netns exec "$i" sysctl -q net.mptcp.pm_type=1
 done
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH mptcp-next v3 3/3] selftests: mptcp: add mptcp_lib_evts_* helpers
  2024-02-21  7:06 [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2 Geliang Tang
  2024-02-21  7:06 ` [PATCH mptcp-next v3 1/3] selftests: mptcp: connect: add local variable rndh Geliang Tang
  2024-02-21  7:06 ` [PATCH mptcp-next v3 2/3] selftests: mptcp: add mptcp_lib_ns_* helpers Geliang Tang
@ 2024-02-21  7:06 ` Geliang Tang
  2024-02-21 12:16   ` Matthieu Baerts
  2024-02-21 14:54   ` selftests: mptcp: add mptcp_lib_evts_* helpers: Tests Results MPTCP CI
  2024-02-21 12:14 ` [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2 Matthieu Baerts
  3 siblings, 2 replies; 9+ messages in thread
From: Geliang Tang @ 2024-02-21  7:06 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

From: Geliang Tang <tanggeliang@kylinos.cn>

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 <tanggeliang@kylinos.cn>
---
 .../testing/selftests/net/mptcp/mptcp_join.sh | 16 ++----
 .../testing/selftests/net/mptcp/mptcp_lib.sh  | 55 +++++++++++++++++++
 .../selftests/net/mptcp/userspace_pm.sh       | 28 +++-------
 3 files changed, 67 insertions(+), 32 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index bea7627c7313..006fefaf2e2a 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -158,8 +158,7 @@ init() {
 	cinsent=$(mktemp)
 	cout=$(mktemp)
 	err=$(mktemp)
-	evts_ns1=$(mktemp)
-	evts_ns2=$(mktemp)
+	mptcp_lib_evts_init evts_ns1 evts_ns2
 
 	trap cleanup EXIT
 
@@ -172,7 +171,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 "${evts_ns1}" "${evts_ns2}"
 	rm -f "$err"
 	cleanup_partial
 }
@@ -437,12 +436,8 @@ 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}" "${evts_ns1}" "${evts_ns2}" \
+			     evts_ns1_pid evts_ns2_pid
 }
 
 reset_with_tcp_filter()
@@ -614,8 +609,7 @@ wait_mpj()
 
 kill_events_pids()
 {
-	mptcp_lib_kill_wait $evts_ns1_pid
-	mptcp_lib_kill_wait $evts_ns2_pid
+	mptcp_lib_evts_kill evts_ns1_pid evts_ns2_pid
 }
 
 pm_nl_set_limits()
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 14c0b97a153e..9573edb4efb1 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -396,3 +396,58 @@ mptcp_lib_ns_exit() {
 		ip netns del "$netns"
 	done
 }
+
+mptcp_lib_evts_init() {
+	local arg
+
+	for arg in "${@}"; do
+		declare -n evts="${arg}"
+
+		if [ -z "${evts}" ]; then
+			evts=$(mktemp)
+		fi
+	done
+}
+
+# $1 ns1, $2 ns2
+mptcp_lib_evts_start() {
+	local ns_1="${1}"
+	local ns_2="${2}"
+	local evts_1="${3}"
+	local evts_2="${4}"
+	declare -n pid_1="${5}"
+	declare -n pid_2="${6}"
+
+	:>"${evts_1}"
+	:>"${evts_2}"
+
+	if [ ${pid_1} -ne 0 ]; then
+		mptcp_lib_kill_wait "${pid_1}"
+	fi
+	ip netns exec "${ns_1}" ./pm_nl_ctl events >> "${evts_1}" 2>&1 &
+	pid_1=$!
+
+	if [ ${pid_2} -ne 0 ]; then
+		mptcp_lib_kill_wait "${pid_2}"
+	fi
+	ip netns exec "${ns_2}" ./pm_nl_ctl events >> "${evts_2}" 2>&1 &
+	pid_2=$!
+}
+
+mptcp_lib_evts_kill() {
+	declare -n pid_1="${1}"
+	declare -n pid_2="${2}"
+
+	mptcp_lib_kill_wait "${pid_1}"
+	mptcp_lib_kill_wait "${pid_2}"
+
+	pid_1=0
+	pid_2=0
+}
+
+mptcp_lib_evts_remove() {
+	local evts_1="${1}"
+	local evts_2="${2}"
+
+	rm -rf "${evts_1}" "${evts_2}"
+}
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 10074709420a..b6a03d96e786 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -111,15 +111,16 @@ 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 server_evts_pid client_evts_pid
 
 	mptcp_lib_ns_exit "${ns1}" "${ns2}"
 
-	rm -rf $file $client_evts $server_evts
+	rm -rf $file
+	mptcp_lib_evts_remove "${server_evts}" "${client_evts}"
 
 	_printf "Done\n"
 }
@@ -176,24 +177,9 @@ 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 server_evts client_evts
+	mptcp_lib_evts_start "${ns1}" "${ns2}" "${server_evts}" "${client_evts}" \
+			     server_evts_pid client_evts_pid
 	sleep 0.5
 
 	# Run the server
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2
  2024-02-21  7:06 [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2 Geliang Tang
                   ` (2 preceding siblings ...)
  2024-02-21  7:06 ` [PATCH mptcp-next v3 3/3] selftests: mptcp: add mptcp_lib_evts_* helpers Geliang Tang
@ 2024-02-21 12:14 ` Matthieu Baerts
  3 siblings, 0 replies; 9+ messages in thread
From: Matthieu Baerts @ 2024-02-21 12:14 UTC (permalink / raw)
  To: Geliang Tang, mptcp; +Cc: Geliang Tang

Hi Geliang,

On 21/02/2024 8:06 am, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> v3:
>  - patch #2, drop this line in mptcp_lib_ns_exit():
> 	rm -f /tmp/"$netns".{nstat,out}

Thank you for this new version. Please see my individual comments.

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-next v3 1/3] selftests: mptcp: connect: add local variable rndh
  2024-02-21  7:06 ` [PATCH mptcp-next v3 1/3] selftests: mptcp: connect: add local variable rndh Geliang Tang
@ 2024-02-21 12:15   ` Matthieu Baerts
  0 siblings, 0 replies; 9+ messages in thread
From: Matthieu Baerts @ 2024-02-21 12:15 UTC (permalink / raw)
  To: Geliang Tang, mptcp; +Cc: Geliang Tang

Hi Geliang,

On 21/02/2024 8:06 am, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> This patch adds a local variable rndh in do_transfer(), setting it with
> ${connector_ns:4}, not the global variable rndh. The global one is hidden
> in the next commit.

Do you not need to do the same in simult_flows.sh?

If it is just these two modifications, and because you have other
behaviour changes in patch 2/3, maybe easier to squash that in patch 2/3
and add another note in the commit message?

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-next v3 2/3] selftests: mptcp: add mptcp_lib_ns_* helpers
  2024-02-21  7:06 ` [PATCH mptcp-next v3 2/3] selftests: mptcp: add mptcp_lib_ns_* helpers Geliang Tang
@ 2024-02-21 12:16   ` Matthieu Baerts
  0 siblings, 0 replies; 9+ messages in thread
From: Matthieu Baerts @ 2024-02-21 12:16 UTC (permalink / raw)
  To: Geliang Tang, mptcp; +Cc: Geliang Tang

Hi Geliang,

On 21/02/2024 8:06 am, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> Add helpers mptcp_lib_ns_init() and mptcp_lib_ns_exit() in mptcp_lib.sh to
> initialize and delete the given namespaces. Then every test script can
> invoke these helpers and use all namespaces.
> 
> Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> ---
>  tools/testing/selftests/net/mptcp/diag.sh     |  9 +++----
>  .../selftests/net/mptcp/mptcp_connect.sh      | 24 +++++++------------
>  .../testing/selftests/net/mptcp/mptcp_join.sh | 11 ++-------
>  .../testing/selftests/net/mptcp/mptcp_lib.sh  | 23 ++++++++++++++++++
>  .../selftests/net/mptcp/mptcp_sockopt.sh      | 16 ++++---------
>  .../testing/selftests/net/mptcp/pm_netlink.sh |  9 +++----
>  .../selftests/net/mptcp/simult_flows.sh       | 16 ++++---------
>  .../selftests/net/mptcp/userspace_pm.sh       | 14 ++++-------
>  8 files changed, 54 insertions(+), 68 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/selftests/net/mptcp/diag.sh
> index 60a7009ce1b5..162d7b90c3f5 100755
> --- a/tools/testing/selftests/net/mptcp/diag.sh
> +++ b/tools/testing/selftests/net/mptcp/diag.sh
> @@ -3,9 +3,8 @@
>  
>  . "$(dirname "${0}")/mptcp_lib.sh"
>  
> -sec=$(date +%s)
> -rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
> -ns="ns1-$rndh"
> +ns=""
> +mptcp_lib_ns_init ns

Please keep the init where the netns was created before: typically after
having declared the trap. Otherwise, the netns could be created, but not
cleaned in case of issues in between.

>  ksft_skip=4
>  test_cnt=1
>  timeout_poll=30

(...)

> diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> index b609649311f6..6900f7f4d88d 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> @@ -121,12 +121,11 @@ 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"
> +ns1=""
> +ns2=""
> +ns3=""
> +ns4=""
> +mptcp_lib_ns_init ns1 ns2 ns3 ns4

Same here: move it after the trap.

>  
>  TEST_COUNT=0
>  TEST_GROUP=""
> @@ -140,9 +139,9 @@ cleanup()
>  
>  	local netns
>  	for netns in "$ns1" "$ns2" "$ns3" "$ns4";do
> -		ip netns del $netns
>  		rm -f /tmp/$netns.{nstat,out}

My previous comment was maybe not clear enough, sorry: for me, it is
fine to move this to 'mptcp_lib_ns_exit', just please clearly mention it
in the commit message as it is a behaviour change, e.g.

  Note that 'mptcp_lib_ns_exit' now also try to remove temp netns files
  used for the stats even for selftests not using them. That's fine to
  do that because these files have a unique name.

>  	done
> +	mptcp_lib_ns_exit "${ns1}" "${ns2}" "${ns3}" "${ns4}"
>  }
>  
>  mptcp_lib_check_mptcp

(...)

> @@ -251,8 +245,8 @@ fi
>  
>  check_mptcp_disabled()
>  {
> -	local disabled_ns="ns_disabled-$rndh"
> -	ip netns add ${disabled_ns} || exit $ksft_skip
> +	local disabled_ns=""

(note that you don't need '=""', 'local disabled_ns' is enough ; but I'm
fine either ways, the result is the same)

> +	mptcp_lib_ns_init disabled_ns
>  
>  	# 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 9f1476f0e2ae..bea7627c7313 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -86,17 +86,10 @@ 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_ns_init ns1 ns2
>  
>  	local netns
>  	for netns in "$ns1" "$ns2"; 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
>  		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

Same here, I'm fine to move this in 'mptcp_lib_ns_init' as long as it is
documented in the commit message to explain that "it is fine to do that
everywhere, because (...)".

(...)

> diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
> index 556a7d9784d7..14c0b97a153e 100644
> --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
> @@ -373,3 +373,26 @@ mptcp_lib_check_output() {
>  		return 1
>  	fi
>  }
> +
> +mptcp_lib_ns_init() {
> +	local sec
> +	local rndh=""

(detail: same here, it is enough to have 'local rndh' without '=""')

> +
> +	sec=$(date +%s)
> +	rndh=$(printf %x "$sec")-$(mktemp -u XXXXXX)
> +
> +	local netns
> +	for netns in "${@}"; do
> +		eval "${netns}=${netns}-${rndh}"
> +
> +		ip netns add "${!netns}" || exit ${KSFT_SKIP}
> +		ip -net "${!netns}" link set lo up
> +	done
> +}
> +
> +mptcp_lib_ns_exit() {
> +	local netns
> +	for netns in "${@}"; do
> +		ip netns del "$netns"
> +	done
> +}
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
> index fd7de1b3dc55..58bf83d4e7fa 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
> @@ -14,11 +14,10 @@ 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"
> -ns_sbox="ns_sbox-$rndh"
> +ns1=""
> +ns2=""
> +ns_sbox=""
> +mptcp_lib_ns_init ns1 ns2 ns_sbox

Same here: move it to the 'init()' function, where it was done

>  add_mark_rules()
>  {
> @@ -42,8 +41,6 @@ init()
>  {
>  	local netns
>  	for netns in "$ns1" "$ns2" "$ns_sbox";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
>  		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
> @@ -79,10 +76,7 @@ init()
>  
>  cleanup()
>  {
> -	local netns
> -	for netns in "$ns1" "$ns2" "$ns_sbox"; do
> -		ip netns del $netns
> -	done
> +	mptcp_lib_ns_exit "${ns1}" "${ns2}" "${ns_sbox}"
>  	rm -f "$cin" "$cout"
>  	rm -f "$sin" "$sout"
>  }
> diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
> index 1ec9d8622fc9..c117eea92b6a 100755
> --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
> +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
> @@ -24,15 +24,14 @@ while getopts "$optstring" option;do
>  	esac
>  done
>  
> -sec=$(date +%s)
> -rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
> -ns1="ns1-$rndh"
> +ns1=""
> +mptcp_lib_ns_init ns1

Same here: move it after the trap.

>  err=$(mktemp)
>  
>  cleanup()
>  {
>  	rm -f $err
> -	ip netns del $ns1
> +	mptcp_lib_ns_exit "${ns1}"
>  }
>  
>  mptcp_lib_check_mptcp
> @@ -40,8 +39,6 @@ mptcp_lib_check_tools ip
>  
>  trap cleanup EXIT
>  
> -ip netns add $ns1 || exit $ksft_skip
> -ip -net $ns1 link set lo up
>  ip netns exec $ns1 sysctl -q net.mptcp.enabled=1
>  
>  check()
> diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/testing/selftests/net/mptcp/simult_flows.sh
> index 7d8388ecc966..67cddd40f211 100755
> --- a/tools/testing/selftests/net/mptcp/simult_flows.sh
> +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh
> @@ -3,11 +3,10 @@
>  
>  . "$(dirname "${0}")/mptcp_lib.sh"
>  
> -sec=$(date +%s)
> -rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
> -ns1="ns1-$rndh"
> -ns2="ns2-$rndh"
> -ns3="ns3-$rndh"
> +ns1=""
> +ns2=""
> +ns3=""
> +mptcp_lib_ns_init ns1 ns2 ns3

Same here: move it after the trap.

>  capture=false
>  ksft_skip=4
>  timeout_poll=30
> @@ -36,10 +35,7 @@ cleanup()
>  	rm -f "$large" "$small"
>  	rm -f "$capout"
>  
> -	local netns
> -	for netns in "$ns1" "$ns2" "$ns3";do
> -		ip netns del $netns
> -	done
> +	mptcp_lib_ns_exit "${ns1}" "${ns2}" "${ns3}"
>  }
>  
>  mptcp_lib_check_mptcp
> @@ -66,8 +62,6 @@ setup()
>  	trap cleanup EXIT
>  
>  	for i in "$ns1" "$ns2" "$ns3";do
> -		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
>  	done
> diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
> index 629fc5d0ecc5..10074709420a 100755
> --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
> +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
> @@ -50,10 +50,9 @@ 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"
> +ns1=""
> +ns2=""
> +mptcp_lib_ns_init ns1 ns2

Same here: move it after the trap.

>  ret=0
>  test_name=""
>  
> @@ -118,10 +117,7 @@ cleanup()
>  		mptcp_lib_kill_wait $pid
>  	done
>  
> -	local netns
> -	for netns in "$ns1" "$ns2" ;do
> -		ip netns del "$netns"
> -	done
> +	mptcp_lib_ns_exit "${ns1}" "${ns2}"
>  
>  	rm -rf $file $client_evts $server_evts
>  
> @@ -132,8 +128,6 @@ trap cleanup EXIT
>  
>  # Create and configure network namespaces for testing
>  for i in "$ns1" "$ns2" ;do
> -	ip netns add "$i" || exit 1
> -	ip -net "$i" link set lo up
>  	ip netns exec "$i" sysctl -q net.mptcp.enabled=1
>  	ip netns exec "$i" sysctl -q net.mptcp.pm_type=1
>  done

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-next v3 3/3] selftests: mptcp: add mptcp_lib_evts_* helpers
  2024-02-21  7:06 ` [PATCH mptcp-next v3 3/3] selftests: mptcp: add mptcp_lib_evts_* helpers Geliang Tang
@ 2024-02-21 12:16   ` Matthieu Baerts
  2024-02-21 14:54   ` selftests: mptcp: add mptcp_lib_evts_* helpers: Tests Results MPTCP CI
  1 sibling, 0 replies; 9+ messages in thread
From: Matthieu Baerts @ 2024-02-21 12:16 UTC (permalink / raw)
  To: Geliang Tang, mptcp; +Cc: Geliang Tang

Hi Geliang,

On 21/02/2024 8:06 am, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> 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 <tanggeliang@kylinos.cn>
> ---
>  .../testing/selftests/net/mptcp/mptcp_join.sh | 16 ++----
>  .../testing/selftests/net/mptcp/mptcp_lib.sh  | 55 +++++++++++++++++++
>  .../selftests/net/mptcp/userspace_pm.sh       | 28 +++-------
>  3 files changed, 67 insertions(+), 32 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index bea7627c7313..006fefaf2e2a 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -158,8 +158,7 @@ init() {
>  	cinsent=$(mktemp)
>  	cout=$(mktemp)
>  	err=$(mktemp)
> -	evts_ns1=$(mktemp)
> -	evts_ns2=$(mktemp)
> +	mptcp_lib_evts_init evts_ns1 evts_ns2

Maybe easier to keep this unchanged? All you do in the lib is:

  <var>=$(mktemp)

Same for the mptcp_lib_evts_remove -- just a 'rm' -- and
mptcp_lib_evts_kill -- just calling mptcp_lib_kill_wait.

Or do you see other advantages?

>  	trap cleanup EXIT
>  

(...)

> diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
> index 14c0b97a153e..9573edb4efb1 100644
> --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
> @@ -396,3 +396,58 @@ mptcp_lib_ns_exit() {
>  		ip netns del "$netns"
>  	done
>  }
> +
> +mptcp_lib_evts_init() {
> +	local arg
> +
> +	for arg in "${@}"; do
> +		declare -n evts="${arg}"
> +
> +		if [ -z "${evts}" ]; then
> +			evts=$(mktemp)
> +		fi
> +	done
> +}

(see above, maybe we don't need this helper?)

> +
> +# $1 ns1, $2 ns2
> +mptcp_lib_evts_start() {
> +	local ns_1="${1}"
> +	local ns_2="${2}"
> +	local evts_1="${3}"
> +	local evts_2="${4}"
> +	declare -n pid_1="${5}"
> +	declare -n pid_2="${6}"

(or use ${!pid_1} as in mptcp_lib_ns_init -- or we use 'declare -n'
there too, just for consistency)

(I hope 'declare -n' will respect the 'local' scope, but I guess yes)

> +
> +	:>"${evts_1}"
> +	:>"${evts_2}"
> +
> +	if [ ${pid_1} -ne 0 ]; then
> +		mptcp_lib_kill_wait "${pid_1}"
> +	fi
> +	ip netns exec "${ns_1}" ./pm_nl_ctl events >> "${evts_1}" 2>&1 &
> +	pid_1=$!
> +
> +	if [ ${pid_2} -ne 0 ]; then
> +		mptcp_lib_kill_wait "${pid_2}"
> +	fi
> +	ip netns exec "${ns_2}" ./pm_nl_ctl events >> "${evts_2}" 2>&1 &
> +	pid_2=$!
> +}
> +
> +mptcp_lib_evts_kill() {
> +	declare -n pid_1="${1}"
> +	declare -n pid_2="${2}"
> +
> +	mptcp_lib_kill_wait "${pid_1}"
> +	mptcp_lib_kill_wait "${pid_2}"
> +
> +	pid_1=0
> +	pid_2=0

This was not done before, do you need that?

(but see above, maybe we don't need this helper, and the one below)

> +}
> +
> +mptcp_lib_evts_remove() {
> +	local evts_1="${1}"
> +	local evts_2="${2}"
> +
> +	rm -rf "${evts_1}" "${evts_2}"
> +}

(...)

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: selftests: mptcp: add mptcp_lib_evts_* helpers: Tests Results
  2024-02-21  7:06 ` [PATCH mptcp-next v3 3/3] selftests: mptcp: add mptcp_lib_evts_* helpers Geliang Tang
  2024-02-21 12:16   ` Matthieu Baerts
@ 2024-02-21 14:54   ` MPTCP CI
  1 sibling, 0 replies; 9+ messages in thread
From: MPTCP CI @ 2024-02-21 14:54 UTC (permalink / raw)
  To: Geliang Tang; +Cc: mptcp

Hi Geliang,

Thank you for your modifications, that's great!

Our CI (GitHub Action) did some validations and here is its report:

- KVM Validation: normal:
  - Unstable: 2 failed test(s): packetdrill_regressions selftest_mptcp_join 🔴:
  - Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/7990465311

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/dc43d4035da0


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-02-21 14:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-21  7:06 [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2 Geliang Tang
2024-02-21  7:06 ` [PATCH mptcp-next v3 1/3] selftests: mptcp: connect: add local variable rndh Geliang Tang
2024-02-21 12:15   ` Matthieu Baerts
2024-02-21  7:06 ` [PATCH mptcp-next v3 2/3] selftests: mptcp: add mptcp_lib_ns_* helpers Geliang Tang
2024-02-21 12:16   ` Matthieu Baerts
2024-02-21  7:06 ` [PATCH mptcp-next v3 3/3] selftests: mptcp: add mptcp_lib_evts_* helpers Geliang Tang
2024-02-21 12:16   ` Matthieu Baerts
2024-02-21 14:54   ` selftests: mptcp: add mptcp_lib_evts_* helpers: Tests Results MPTCP CI
2024-02-21 12:14 ` [PATCH mptcp-next v3 0/3] add helpers and vars in mptcp_lib.sh, part 2 Matthieu Baerts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox