diff mbox series

[net,1/3] selftests: net: lib: support errexit with busywait

Message ID 20240605-upstream-net-20240605-selftests-net-lib-fixes-v1-1-b3afadd368c9@kernel.org (mailing list archive)
State Accepted
Commit 41b02ea4c0adfcc6761fbfed42c3ce6b6412d881
Delegated to: Netdev Maintainers
Headers show
Series selftests: net: lib: small fixes | expand

Checks

Context Check Description
netdev/series_format success Posting correctly formatted
netdev/tree_selection success Clearly marked for net
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag present in non-next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 8 this patch: 8
netdev/build_tools success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers success CCed 8 of 8 maintainers
netdev/build_clang success Errors and warnings before: 8 this patch: 8
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success net selftest script(s) already in Makefile
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 8 this patch: 8
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 10 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2024-06-05--15-00 (tests: 1043)

Commit Message

Matthieu Baerts June 5, 2024, 9:21 a.m. UTC
If errexit is enabled ('set -e'), loopy_wait -- or busywait and others
using it -- will stop after the first failure.

Note that if the returned status of loopy_wait is checked, and even if
errexit is enabled, Bash will not stop at the first error.

Fixes: 25ae948b4478 ("selftests/net: add lib.sh")
Cc: stable@vger.kernel.org
Acked-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 tools/testing/selftests/net/lib.sh | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Hangbin Liu June 5, 2024, 9:44 a.m. UTC | #1
On Wed, Jun 05, 2024 at 11:21:16AM +0200, Matthieu Baerts (NGI0) wrote:
> If errexit is enabled ('set -e'), loopy_wait -- or busywait and others
> using it -- will stop after the first failure.
> 
> Note that if the returned status of loopy_wait is checked, and even if
> errexit is enabled, Bash will not stop at the first error.
> 
> Fixes: 25ae948b4478 ("selftests/net: add lib.sh")

Not sure if the fixes tag should be c5341bcc337c ("selftests: mlxsw: Add a
self-test for port-default priority"), so the fixes could be backported to
stable kernel for forwarding/lib.sh. Others looks good to me.

Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>

> Cc: stable@vger.kernel.org
> Acked-by: Geliang Tang <geliang@kernel.org>
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> ---
>  tools/testing/selftests/net/lib.sh | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/net/lib.sh
> index edc030e81a46..a422e10d3d3a 100644
> --- a/tools/testing/selftests/net/lib.sh
> +++ b/tools/testing/selftests/net/lib.sh
> @@ -67,9 +67,7 @@ loopy_wait()
>  	while true
>  	do
>  		local out
> -		out=$("$@")
> -		local ret=$?
> -		if ((!ret)); then
> +		if out=$("$@"); then
>  			echo -n "$out"
>  			return 0
>  		fi
> 
> -- 
> 2.43.0
>
Matthieu Baerts June 5, 2024, 9:58 a.m. UTC | #2
Hi Hangbin,

Thank you for your reply!

On 05/06/2024 11:44, Hangbin Liu wrote:
> On Wed, Jun 05, 2024 at 11:21:16AM +0200, Matthieu Baerts (NGI0) wrote:
>> If errexit is enabled ('set -e'), loopy_wait -- or busywait and others
>> using it -- will stop after the first failure.
>>
>> Note that if the returned status of loopy_wait is checked, and even if
>> errexit is enabled, Bash will not stop at the first error.
>>
>> Fixes: 25ae948b4478 ("selftests/net: add lib.sh")
> 
> Not sure if the fixes tag should be c5341bcc337c ("selftests: mlxsw: Add a
> self-test for port-default priority"), so the fixes could be backported to
> stable kernel for forwarding/lib.sh.

Good point, I didn't notice it was coming from there.

I don't think that's needed: 'net/forwarding/lib.sh' is far from being
compatible with 'errexit', please look at all the utilisations of '$?'.

For 'net/lib.sh', that's different: some functions explicitly check for
'errexit' support. If I'm not mistaken, I fixed the only place where it
was not compatible with 'errexit'.

> Others looks good to me.
> 
> Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>

Thank you for the review!

Cheers,
Matt
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/net/lib.sh
index edc030e81a46..a422e10d3d3a 100644
--- a/tools/testing/selftests/net/lib.sh
+++ b/tools/testing/selftests/net/lib.sh
@@ -67,9 +67,7 @@  loopy_wait()
 	while true
 	do
 		local out
-		out=$("$@")
-		local ret=$?
-		if ((!ret)); then
+		if out=$("$@"); then
 			echo -n "$out"
 			return 0
 		fi