On Fri, Aug 25, 2023 at 02:54:01PM +0200, Magnus Karlsson wrote: > On Fri, 25 Aug 2023 at 14:50, Maciej Fijalkowski > <maciej.fijalkowski@xxxxxxxxx> wrote: > > > > On Thu, Aug 24, 2023 at 02:28:52PM +0200, Magnus Karlsson wrote: > > > From: Magnus Karlsson <magnus.karlsson@xxxxxxxxx> > > > > > > Add the -h option to display all available command line options > > > available for test_xsk.sh and xskxceiver. > > > > > > Signed-off-by: Magnus Karlsson <magnus.karlsson@xxxxxxxxx> > > > --- > > > tools/testing/selftests/bpf/test_xsk.sh | 11 ++++++++++- > > > tools/testing/selftests/bpf/xskxceiver.c | 5 ++++- > > > 2 files changed, 14 insertions(+), 2 deletions(-) > > > > > > diff --git a/tools/testing/selftests/bpf/test_xsk.sh b/tools/testing/selftests/bpf/test_xsk.sh > > > index b7186ae48497..9ec718043c1a 100755 > > > --- a/tools/testing/selftests/bpf/test_xsk.sh > > > +++ b/tools/testing/selftests/bpf/test_xsk.sh > > > @@ -82,12 +82,15 @@ > > > # > > > # Run a specific test from the test suite > > > # sudo ./test_xsk.sh -t TEST_NAME > > > +# > > > +# Display the available command line options > > > +# ./test_xsk.sh -h > > > > > > . xsk_prereqs.sh > > > > > > ETH="" > > > > > > -while getopts "vi:dm:lt:" flag > > > +while getopts "vi:dm:lt:h" flag > > > do > > > case "${flag}" in > > > v) verbose=1;; > > > @@ -96,6 +99,7 @@ do > > > m) XSKTEST_MODE=${OPTARG};; > > > l) list=1;; > > > t) XSKTEST_TEST=${OPTARG};; > > > + h) help=1;; > > > esac > > > done > > > > > > @@ -148,6 +152,11 @@ if [[ $list -eq 1 ]]; then > > > exit > > > fi > > > > > > +if [[ $help -eq 1 ]]; then > > > + ./${XSKOBJ} > > > + exit > > > +fi > > > + > > > if [ ! -z $ETH ]; then > > > VETH0=${ETH} > > > VETH1=${ETH} > > > diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c > > > index 19db9a827c30..9feb476d647f 100644 > > > --- a/tools/testing/selftests/bpf/xskxceiver.c > > > +++ b/tools/testing/selftests/bpf/xskxceiver.c > > > @@ -318,6 +318,7 @@ static struct option long_options[] = { > > > {"mode", required_argument, 0, 'm'}, > > > {"list", no_argument, 0, 'l'}, > > > {"test", required_argument, 0, 't'}, > > > + {"help", no_argument, 0, 'h'}, > > > {0, 0, 0, 0} > > > }; > > > > > > @@ -331,7 +332,8 @@ static void print_usage(char **argv) > > > " -b, --busy-poll Enable busy poll\n" > > > " -m, --mode Run only mode skb, drv, or zc\n" > > > " -l, --list List all available tests\n" > > > - " -t, --test Run a specific test. Enter number from -l option.\n"; > > > + " -t, --test Run a specific test. Enter number from -l option.\n" > > > + " -h, --help Display this help and exit\n"; > > > > > > ksft_print_msg(str, basename(argv[0])); > > > ksft_exit_xfail(); > > > @@ -406,6 +408,7 @@ static void parse_command_line(struct ifobject *ifobj_tx, struct ifobject *ifobj > > > if (errno) > > > print_usage(argv); > > > break; > > > + case 'h': > > > > do you need 'fallthrough' here? > > Did not get any complaints from checkpatch, so do not know since it is > a case without any content on its own. I would say it is obvious that > it is "falling through" in this case :-). But I do not know what the > rule is. Sorry for the noise it's fine i quickly tested that with -Wimplicit-fallthrough. > > > > default: > > > print_usage(argv); > > > } > > > -- > > > 2.34.1 > > >