[PATCH v2 1/3] selftests/net: have `gro.sh -t` return a correct exit code

Kevin Krakauer posted 3 patches 9 months, 3 weeks ago
[PATCH v2 1/3] selftests/net: have `gro.sh -t` return a correct exit code
Posted by Kevin Krakauer 9 months, 3 weeks ago
Modify gro.sh to return a useful exit code when the -t flag is used. It
formerly returned 0 no matter what.

Tested: Ran `gro.sh -t large` and verified that test failures return 1.
Signed-off-by: Kevin Krakauer <krakauer@google.com>
---
 tools/testing/selftests/net/gro.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/gro.sh b/tools/testing/selftests/net/gro.sh
index 02c21ff4ca81..aabd6e5480b8 100755
--- a/tools/testing/selftests/net/gro.sh
+++ b/tools/testing/selftests/net/gro.sh
@@ -100,5 +100,6 @@ trap cleanup EXIT
 if [[ "${test}" == "all" ]]; then
   run_all_tests
 else
-  run_test "${proto}" "${test}"
+  exit_code=$(run_test "${proto}" "${test}")
+  exit $exit_code
 fi;
-- 
2.48.1.658.g4767266eb4-goog
Re: [PATCH v2 1/3] selftests/net: have `gro.sh -t` return a correct exit code
Posted by Willem de Bruijn 9 months, 3 weeks ago
Kevin Krakauer wrote:
> Modify gro.sh to return a useful exit code when the -t flag is used. It
> formerly returned 0 no matter what.
> 
> Tested: Ran `gro.sh -t large` and verified that test failures return 1.
> Signed-off-by: Kevin Krakauer <krakauer@google.com>

Reviewed-by: Willem de Bruijn <willemb@google.com>

> ---
>  tools/testing/selftests/net/gro.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/net/gro.sh b/tools/testing/selftests/net/gro.sh
> index 02c21ff4ca81..aabd6e5480b8 100755
> --- a/tools/testing/selftests/net/gro.sh
> +++ b/tools/testing/selftests/net/gro.sh
> @@ -100,5 +100,6 @@ trap cleanup EXIT
>  if [[ "${test}" == "all" ]]; then
>    run_all_tests
>  else
> -  run_test "${proto}" "${test}"
> +  exit_code=$(run_test "${proto}" "${test}")
> +  exit $exit_code
>  fi;

This is due to run_test ending with echo ${exit_code}, which itself
always succeeds. Rather than the actual exit_code of the process it
ran, right?

It looks a bit odd, but this is always how run_all_tests uses
run_test.
Re: [PATCH v2 1/3] selftests/net: have `gro.sh -t` return a correct exit code
Posted by Kevin Krakauer 9 months, 3 weeks ago
On Thu, Feb 27, 2025 at 11:20:15AM -0500, Willem de Bruijn wrote:
> > ---
> >  tools/testing/selftests/net/gro.sh | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tools/testing/selftests/net/gro.sh b/tools/testing/selftests/net/gro.sh
> > index 02c21ff4ca81..aabd6e5480b8 100755
> > --- a/tools/testing/selftests/net/gro.sh
> > +++ b/tools/testing/selftests/net/gro.sh
> > @@ -100,5 +100,6 @@ trap cleanup EXIT
> >  if [[ "${test}" == "all" ]]; then
> >    run_all_tests
> >  else
> > -  run_test "${proto}" "${test}"
> > +  exit_code=$(run_test "${proto}" "${test}")
> > +  exit $exit_code
> >  fi;
> 
> This is due to run_test ending with echo ${exit_code}, which itself
> always succeeds. Rather than the actual exit_code of the process it
> ran, right?
> 
> It looks a bit odd, but this is always how run_all_tests uses
> run_test.

Yep. I could change this to use exit codes and $? if that's desirable,
but IME using echo to return is fairly common.
Re: [PATCH v2 1/3] selftests/net: have `gro.sh -t` return a correct exit code
Posted by Willem de Bruijn 9 months, 3 weeks ago
Kevin Krakauer wrote:
> On Thu, Feb 27, 2025 at 11:20:15AM -0500, Willem de Bruijn wrote:
> > > ---
> > >  tools/testing/selftests/net/gro.sh | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/tools/testing/selftests/net/gro.sh b/tools/testing/selftests/net/gro.sh
> > > index 02c21ff4ca81..aabd6e5480b8 100755
> > > --- a/tools/testing/selftests/net/gro.sh
> > > +++ b/tools/testing/selftests/net/gro.sh
> > > @@ -100,5 +100,6 @@ trap cleanup EXIT
> > >  if [[ "${test}" == "all" ]]; then
> > >    run_all_tests
> > >  else
> > > -  run_test "${proto}" "${test}"
> > > +  exit_code=$(run_test "${proto}" "${test}")
> > > +  exit $exit_code
> > >  fi;
> > 
> > This is due to run_test ending with echo ${exit_code}, which itself
> > always succeeds. Rather than the actual exit_code of the process it
> > ran, right?
> > 
> > It looks a bit odd, but this is always how run_all_tests uses
> > run_test.
> 
> Yep. I could change this to use exit codes and $? if that's desirable,
> but IME using echo to return is fairly common.

Thanks. No need to change it.