Message ID | 20210823030143.29937-1-po-hsu.lin@canonical.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests/bpf: Use kselftest skip code for skipped tests | expand |
On Sun, Aug 22, 2021 at 8:12 PM Po-Hsu Lin <po-hsu.lin@canonical.com> wrote: > > There are several test cases in the bpf directory are still using > exit 0 when they need to be skipped. Use kselftest framework skip > code instead so it can help us to distinguish the return status. > > Criterion to filter out what should be fixed in bpf directory: > grep -r "exit 0" -B1 | grep -i skip > > This change might cause some false-positives if people are running > these test scripts directly and only checking their return codes, > which will change from 0 to 4. However I think the impact should be > small as most of our scripts here are already using this skip code. > And there will be no such issue if running them with the kselftest > framework. > > Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com> Reviewed-By: Dylan Hatch <dylanbhatch@google.com>
On Mon, Aug 23, 2021 at 05:01 AM CEST, Po-Hsu Lin wrote: > There are several test cases in the bpf directory are still using > exit 0 when they need to be skipped. Use kselftest framework skip > code instead so it can help us to distinguish the return status. > > Criterion to filter out what should be fixed in bpf directory: > grep -r "exit 0" -B1 | grep -i skip > > This change might cause some false-positives if people are running > these test scripts directly and only checking their return codes, > which will change from 0 to 4. However I think the impact should be > small as most of our scripts here are already using this skip code. > And there will be no such issue if running them with the kselftest > framework. > > Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com> > --- > tools/testing/selftests/bpf/test_bpftool_build.sh | 5 ++++- > tools/testing/selftests/bpf/test_xdp_meta.sh | 5 ++++- > tools/testing/selftests/bpf/test_xdp_vlan.sh | 7 +++++-- > 3 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/bpf/test_bpftool_build.sh b/tools/testing/selftests/bpf/test_bpftool_build.sh > index ac349a5..b6fab1e 100755 > --- a/tools/testing/selftests/bpf/test_bpftool_build.sh > +++ b/tools/testing/selftests/bpf/test_bpftool_build.sh > @@ -1,6 +1,9 @@ > #!/bin/bash > # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +# Kselftest framework requirement - SKIP code is 4. > +ksft_skip=4 > + > case $1 in > -h|--help) > echo -e "$0 [-j <n>]" > @@ -22,7 +25,7 @@ KDIR_ROOT_DIR=$(realpath $PWD/$SCRIPT_REL_DIR/../../../../) > cd $KDIR_ROOT_DIR > if [ ! -e tools/bpf/bpftool/Makefile ]; then > echo -e "skip: bpftool files not found!\n" > - exit 0 > + exit $ksft_skip > fi > > ERROR=0 This bit has been fixed a couple days ago by a similar change: https://lore.kernel.org/bpf/20210820025549.28325-1-lizhijian@cn.fujitsu.com > diff --git a/tools/testing/selftests/bpf/test_xdp_meta.sh b/tools/testing/selftests/bpf/test_xdp_meta.sh > index 637fcf4..fd3f218 100755 > --- a/tools/testing/selftests/bpf/test_xdp_meta.sh > +++ b/tools/testing/selftests/bpf/test_xdp_meta.sh > @@ -1,5 +1,8 @@ > #!/bin/sh > > +# Kselftest framework requirement - SKIP code is 4. > +ksft_skip=4 > + > cleanup() > { > if [ "$?" = "0" ]; then Would consider making it read-only: readonly KSFT_SKIP=4 [...]
On Wed, Aug 25, 2021 at 5:44 PM Jakub Sitnicki <jakub@cloudflare.com> wrote: > > On Mon, Aug 23, 2021 at 05:01 AM CEST, Po-Hsu Lin wrote: > > There are several test cases in the bpf directory are still using > > exit 0 when they need to be skipped. Use kselftest framework skip > > code instead so it can help us to distinguish the return status. > > > > Criterion to filter out what should be fixed in bpf directory: > > grep -r "exit 0" -B1 | grep -i skip > > > > This change might cause some false-positives if people are running > > these test scripts directly and only checking their return codes, > > which will change from 0 to 4. However I think the impact should be > > small as most of our scripts here are already using this skip code. > > And there will be no such issue if running them with the kselftest > > framework. > > > > Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com> > > --- > > tools/testing/selftests/bpf/test_bpftool_build.sh | 5 ++++- > > tools/testing/selftests/bpf/test_xdp_meta.sh | 5 ++++- > > tools/testing/selftests/bpf/test_xdp_vlan.sh | 7 +++++-- > > 3 files changed, 13 insertions(+), 4 deletions(-) > > > > diff --git a/tools/testing/selftests/bpf/test_bpftool_build.sh b/tools/testing/selftests/bpf/test_bpftool_build.sh > > index ac349a5..b6fab1e 100755 > > --- a/tools/testing/selftests/bpf/test_bpftool_build.sh > > +++ b/tools/testing/selftests/bpf/test_bpftool_build.sh > > @@ -1,6 +1,9 @@ > > #!/bin/bash > > # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > > +# Kselftest framework requirement - SKIP code is 4. > > +ksft_skip=4 > > + > > case $1 in > > -h|--help) > > echo -e "$0 [-j <n>]" > > @@ -22,7 +25,7 @@ KDIR_ROOT_DIR=$(realpath $PWD/$SCRIPT_REL_DIR/../../../../) > > cd $KDIR_ROOT_DIR > > if [ ! -e tools/bpf/bpftool/Makefile ]; then > > echo -e "skip: bpftool files not found!\n" > > - exit 0 > > + exit $ksft_skip > > fi > > > > ERROR=0 > > This bit has been fixed a couple days ago by a similar change: > > https://lore.kernel.org/bpf/20210820025549.28325-1-lizhijian@cn.fujitsu.com > Hello Jakub, Thanks for the feedback, I have submit a v2 patch for this: https://lore.kernel.org/bpf/20210929051250.13831-1-po-hsu.lin@canonical.com/ Cheers > > diff --git a/tools/testing/selftests/bpf/test_xdp_meta.sh b/tools/testing/selftests/bpf/test_xdp_meta.sh > > index 637fcf4..fd3f218 100755 > > --- a/tools/testing/selftests/bpf/test_xdp_meta.sh > > +++ b/tools/testing/selftests/bpf/test_xdp_meta.sh > > @@ -1,5 +1,8 @@ > > #!/bin/sh > > > > +# Kselftest framework requirement - SKIP code is 4. > > +ksft_skip=4 > > + > > cleanup() > > { > > if [ "$?" = "0" ]; then > > Would consider making it read-only: > > readonly KSFT_SKIP=4 > > [...]
diff --git a/tools/testing/selftests/bpf/test_bpftool_build.sh b/tools/testing/selftests/bpf/test_bpftool_build.sh index ac349a5..b6fab1e 100755 --- a/tools/testing/selftests/bpf/test_bpftool_build.sh +++ b/tools/testing/selftests/bpf/test_bpftool_build.sh @@ -1,6 +1,9 @@ #!/bin/bash # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Kselftest framework requirement - SKIP code is 4. +ksft_skip=4 + case $1 in -h|--help) echo -e "$0 [-j <n>]" @@ -22,7 +25,7 @@ KDIR_ROOT_DIR=$(realpath $PWD/$SCRIPT_REL_DIR/../../../../) cd $KDIR_ROOT_DIR if [ ! -e tools/bpf/bpftool/Makefile ]; then echo -e "skip: bpftool files not found!\n" - exit 0 + exit $ksft_skip fi ERROR=0 diff --git a/tools/testing/selftests/bpf/test_xdp_meta.sh b/tools/testing/selftests/bpf/test_xdp_meta.sh index 637fcf4..fd3f218 100755 --- a/tools/testing/selftests/bpf/test_xdp_meta.sh +++ b/tools/testing/selftests/bpf/test_xdp_meta.sh @@ -1,5 +1,8 @@ #!/bin/sh +# Kselftest framework requirement - SKIP code is 4. +ksft_skip=4 + cleanup() { if [ "$?" = "0" ]; then @@ -17,7 +20,7 @@ cleanup() ip link set dev lo xdp off 2>/dev/null > /dev/null if [ $? -ne 0 ];then echo "selftests: [SKIP] Could not run test without the ip xdp support" - exit 0 + exit $ksft_skip fi set -e diff --git a/tools/testing/selftests/bpf/test_xdp_vlan.sh b/tools/testing/selftests/bpf/test_xdp_vlan.sh index bb8b0da..1aa7404 100755 --- a/tools/testing/selftests/bpf/test_xdp_vlan.sh +++ b/tools/testing/selftests/bpf/test_xdp_vlan.sh @@ -2,6 +2,9 @@ # SPDX-License-Identifier: GPL-2.0 # Author: Jesper Dangaard Brouer <hawk@kernel.org> +# Kselftest framework requirement - SKIP code is 4. +ksft_skip=4 + # Allow wrapper scripts to name test if [ -z "$TESTNAME" ]; then TESTNAME=xdp_vlan @@ -94,7 +97,7 @@ while true; do -h | --help ) usage; echo "selftests: $TESTNAME [SKIP] usage help info requested" - exit 0 + exit $ksft_skip ;; * ) shift @@ -117,7 +120,7 @@ fi ip link set dev lo xdpgeneric off 2>/dev/null > /dev/null if [ $? -ne 0 ]; then echo "selftests: $TESTNAME [SKIP] need ip xdp support" - exit 0 + exit $ksft_skip fi # Interactive mode likely require us to cleanup netns
There are several test cases in the bpf directory are still using exit 0 when they need to be skipped. Use kselftest framework skip code instead so it can help us to distinguish the return status. Criterion to filter out what should be fixed in bpf directory: grep -r "exit 0" -B1 | grep -i skip This change might cause some false-positives if people are running these test scripts directly and only checking their return codes, which will change from 0 to 4. However I think the impact should be small as most of our scripts here are already using this skip code. And there will be no such issue if running them with the kselftest framework. Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com> --- tools/testing/selftests/bpf/test_bpftool_build.sh | 5 ++++- tools/testing/selftests/bpf/test_xdp_meta.sh | 5 ++++- tools/testing/selftests/bpf/test_xdp_vlan.sh | 7 +++++-- 3 files changed, 13 insertions(+), 4 deletions(-)