Re: [PATCH 2/2] selftests: pmtu.sh: improve the test result processing

From: Po-Hsu Lin
Date: Sun Nov 08 2020 - 22:42:48 EST


On Sun, Nov 8, 2020 at 7:02 AM Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
>
> On Thu, 5 Nov 2020 18:50:51 +0800 Po-Hsu Lin wrote:
> > This test will treat all non-zero return codes as failures, it will
> > make the pmtu.sh test script being marked as FAILED when some
> > sub-test got skipped.
> >
> > Improve the result processing by
> > * Only mark the whole test script as SKIP when all of the
> > sub-tests were skipped
> > * If the sub-tests were either passed or skipped, the overall
> > result will be PASS
> > * If any of them has failed, the overall result will be FAIL
> > * Treat other return codes (e.g. 127 for command not found) as FAIL
> >
> > Signed-off-by: Po-Hsu Lin <po-hsu.lin@xxxxxxxxxxxxx>
>
> Patch 1 looks like a cleanup while patch 2 is more of a fix, can we
> separate the two and apply the former to -next and latter to 5.10?
> They shouldn't conflict, right?
>

Hello Jakub,

Yes the first patch is just changing return code to $ksft_skip, the
real fix is the second one. However the second patch was based on the
first one, if we want to apply them separately we might need to change
this $ksft_skip handling part in the second patch.

What should I do to deal with this?
Resend the former for -next and rebase + resend the latter (plus the
fix to remove case 1) for 5.10 without the former patch?
Thanks!

> > diff --git a/tools/testing/selftests/net/pmtu.sh b/tools/testing/selftests/net/pmtu.sh
> > index fb53987..5c86fb1 100755
> > --- a/tools/testing/selftests/net/pmtu.sh
> > +++ b/tools/testing/selftests/net/pmtu.sh
> > @@ -1652,7 +1652,23 @@ run_test() {
> > return $ret
> > )
> > ret=$?
> > - [ $ret -ne 0 ] && exitcode=1
> > + case $ret in
> > + 0)
> > + all_skipped=false
> > + [ $exitcode=$ksft_skip ] && exitcode=0
> > + ;;
> > + 1)
> > + all_skipped=false
> > + exitcode=1
> > + ;;
>
> Does it make sense to remove this case? The handling is identical to
> the default case *).
>

Yes you're right, we can remove this part.

> > + $ksft_skip)
> > + [ $all_skipped = true ] && exitcode=$ksft_skip
> > + ;;
> > + *)
> > + all_skipped=false
> > + exitcode=1
> > + ;;
> > + esac
> >
> > return $ret
> > }
> > @@ -1786,6 +1802,7 @@ usage() {
> > #
> > exitcode=0
> > desc=0
> > +all_skipped=true
> >
> > while getopts :ptv o
> > do
>