[PATCH mptcp-next v2 4/4] selftests: mptcp: use wait_local_port_listen helper

Geliang Tang posted 4 patches 3 months, 3 weeks ago
There is a newer version of this series
[PATCH mptcp-next v2 4/4] selftests: mptcp: use wait_local_port_listen helper
Posted by Geliang Tang 3 months, 3 weeks ago
From: Geliang Tang <tanggeliang@kylinos.cn>

This patch includes net_helper.sh into mptcp_lib.sh, uses the helper
wait_local_port_listen() defined in it to implement the similar mptcp
helper. This can drop some duplicate code.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 tools/testing/selftests/net/mptcp/mptcp_lib.sh | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index bd7d78e4aa83..e039c88a64ed 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -2,6 +2,7 @@
 # SPDX-License-Identifier: GPL-2.0
 
 . "$(dirname "${0}")/../lib.sh"
+. "$(dirname "${0}")/../net_helper.sh"
 
 readonly KSFT_PASS=0
 readonly KSFT_FAIL=1
@@ -337,20 +338,7 @@ mptcp_lib_check_transfer() {
 
 # $1: ns, $2: port
 mptcp_lib_wait_local_port_listen() {
-	local listener_ns="${1}"
-	local port="${2}"
-
-	local port_hex
-	port_hex="$(printf "%04X" "${port}")"
-
-	local _
-	for _ in $(seq 10); do
-		ip netns exec "${listener_ns}" cat /proc/net/tcp* | \
-			awk "BEGIN {rc=1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) \
-			     {rc=0; exit}} END {exit rc}" &&
-			break
-		sleep 0.1
-	done
+	wait_local_port_listen "${@}" "tcp"
 }
 
 mptcp_lib_check_output() {
-- 
2.43.0
Re: [PATCH mptcp-next v2 4/4] selftests: mptcp: use wait_local_port_listen helper
Posted by Matthieu Baerts 3 months, 3 weeks ago
Hi Geliang,

On 23/05/2024 10:09, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> This patch includes net_helper.sh into mptcp_lib.sh, uses the helper
> wait_local_port_listen() defined in it to implement the similar mptcp
> helper. This can drop some duplicate code.
> 
> Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> ---
>  tools/testing/selftests/net/mptcp/mptcp_lib.sh | 16 ++--------------
>  1 file changed, 2 insertions(+), 14 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
> index bd7d78e4aa83..e039c88a64ed 100644
> --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh

(...)

> @@ -337,20 +338,7 @@ mptcp_lib_check_transfer() {
>  
>  # $1: ns, $2: port
>  mptcp_lib_wait_local_port_listen() {
> -	local listener_ns="${1}"
> -	local port="${2}"
> -
> -	local port_hex
> -	port_hex="$(printf "%04X" "${port}")"
> -
> -	local _
> -	for _ in $(seq 10); do
> -		ip netns exec "${listener_ns}" cat /proc/net/tcp* | \
> -			awk "BEGIN {rc=1} {if (\$2 ~ /:${port_hex}\$/ && \$4 ~ /0A/) \
> -			     {rc=0; exit}} END {exit rc}" &&
> -			break
> -		sleep 0.1
> -	done
> +	wait_local_port_listen "${@}" "tcp"

That's a shame people who duplicated the code didn't do that for us (or
at least they could have mentioned where the code was coming from)...

Anyway, good you saw that, and good idea to use it.

>  }
>  
>  mptcp_lib_check_output() {

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