[PATCH net 08/11] selftests: mptcp: join: endpoints: longer timeout

Matthieu Baerts (NGI0) posted 11 patches 1 week, 2 days ago
[PATCH net 08/11] selftests: mptcp: join: endpoints: longer timeout
Posted by Matthieu Baerts (NGI0) 1 week, 2 days ago
In rare cases, when the test environment is very slow, some endpoints
tests can fail because some expected events have not been seen.

Because the tests are expecting a long on-going connection, and they are
not waiting for the end of the transfer, it is fine to have a longer
timeout, and even go over the default one. This connection will be
killed at the end, after the verifications: increasing the timeout
doesn't change anything, apart from avoiding it to end before the end of
the verifications.

To play it safe, all endpoints tests not waiting for the end of the
transfer are now having a longer timeout: 2 minutes.

The Fixes commit was making the connection longer, but still, the
default timeout would have stopped it after 1 minute, which might not be
enough in very slow environments.

Fixes: 6457595db987 ("selftests: mptcp: join: endpoints: longer transfer")
Cc: stable@vger.kernel.org
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 303abbca59fc..93d38ded5e4e 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3941,7 +3941,7 @@ endpoint_tests()
 		pm_nl_set_limits $ns1 2 2
 		pm_nl_set_limits $ns2 2 2
 		pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
-		{ test_linkfail=128 speed=slow \
+		{ timeout_test=120 test_linkfail=128 speed=slow \
 			run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
 		local tests_pid=$!
 
@@ -3968,7 +3968,7 @@ endpoint_tests()
 		pm_nl_set_limits $ns2 0 3
 		pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow
 		pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow
-		{ test_linkfail=128 speed=5 \
+		{ timeout_test=120 test_linkfail=128 speed=5 \
 			run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
 		local tests_pid=$!
 
@@ -4046,7 +4046,7 @@ endpoint_tests()
 		# broadcast IP: no packet for this address will be received on ns1
 		pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal
 		pm_nl_add_endpoint $ns1 10.0.1.1 id 42 flags signal
-		{ test_linkfail=128 speed=5 \
+		{ timeout_test=120 test_linkfail=128 speed=5 \
 			run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
 		local tests_pid=$!
 
@@ -4119,7 +4119,7 @@ endpoint_tests()
 		# broadcast IP: no packet for this address will be received on ns1
 		pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal
 		pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow
-		{ test_linkfail=128 speed=20 \
+		{ timeout_test=120 test_linkfail=128 speed=20 \
 			run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
 		local tests_pid=$!
 

-- 
2.51.0
Re: [PATCH net 08/11] selftests: mptcp: join: endpoints: longer timeout
Posted by Geliang Tang 1 week, 2 days ago
Hi Matt,

On Tue, 2025-11-18 at 08:20 +0100, Matthieu Baerts (NGI0) wrote:
> In rare cases, when the test environment is very slow, some endpoints
> tests can fail because some expected events have not been seen.
> 
> Because the tests are expecting a long on-going connection, and they
> are
> not waiting for the end of the transfer, it is fine to have a longer
> timeout, and even go over the default one. This connection will be
> killed at the end, after the verifications: increasing the timeout
> doesn't change anything, apart from avoiding it to end before the end
> of
> the verifications.
> 
> To play it safe, all endpoints tests not waiting for the end of the
> transfer are now having a longer timeout: 2 minutes.
> 
> The Fixes commit was making the connection longer, but still, the
> default timeout would have stopped it after 1 minute, which might not
> be
> enough in very slow environments.
> 
> Fixes: 6457595db987 ("selftests: mptcp: join: endpoints: longer
> transfer")
> Cc: stable@vger.kernel.org
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>

This patch looks good to me.

Reviewed-by: Geliang Tang <geliang@kernel.org>

Thanks,
-Geliang

> ---
>  tools/testing/selftests/net/mptcp/mptcp_join.sh | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index 303abbca59fc..93d38ded5e4e 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -3941,7 +3941,7 @@ endpoint_tests()
>  		pm_nl_set_limits $ns1 2 2
>  		pm_nl_set_limits $ns2 2 2
>  		pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
> -		{ test_linkfail=128 speed=slow \
> +		{ timeout_test=120 test_linkfail=128 speed=slow \
>  			run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
>  		local tests_pid=$!
>  
> @@ -3968,7 +3968,7 @@ endpoint_tests()
>  		pm_nl_set_limits $ns2 0 3
>  		pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1
> flags subflow
>  		pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2
> flags subflow
> -		{ test_linkfail=128 speed=5 \
> +		{ timeout_test=120 test_linkfail=128 speed=5 \
>  			run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
>  		local tests_pid=$!
>  
> @@ -4046,7 +4046,7 @@ endpoint_tests()
>  		# broadcast IP: no packet for this address will be
> received on ns1
>  		pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal
>  		pm_nl_add_endpoint $ns1 10.0.1.1 id 42 flags signal
> -		{ test_linkfail=128 speed=5 \
> +		{ timeout_test=120 test_linkfail=128 speed=5 \
>  			run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
>  		local tests_pid=$!
>  
> @@ -4119,7 +4119,7 @@ endpoint_tests()
>  		# broadcast IP: no packet for this address will be
> received on ns1
>  		pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal
>  		pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow
> -		{ test_linkfail=128 speed=20 \
> +		{ timeout_test=120 test_linkfail=128 speed=20 \
>  			run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null
>  		local tests_pid=$!
>