Message ID | 20230824122853.3494-11-magnus.karlsson@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | BPF |
Headers | show |
Series | seltests/xsk: various improvements to xskxceiver | expand |
On Thu, Aug 24, 2023 at 02:28:52PM +0200, Magnus Karlsson wrote: > From: Magnus Karlsson <magnus.karlsson@intel.com> > > 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@intel.com> > --- > 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? > default: > print_usage(argv); > } > -- > 2.34.1 >
On Fri, 25 Aug 2023 at 14:50, Maciej Fijalkowski <maciej.fijalkowski@intel.com> wrote: > > On Thu, Aug 24, 2023 at 02:28:52PM +0200, Magnus Karlsson wrote: > > From: Magnus Karlsson <magnus.karlsson@intel.com> > > > > 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@intel.com> > > --- > > 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. > > default: > > print_usage(argv); > > } > > -- > > 2.34.1 > >
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@intel.com> wrote: > > > > On Thu, Aug 24, 2023 at 02:28:52PM +0200, Magnus Karlsson wrote: > > > From: Magnus Karlsson <magnus.karlsson@intel.com> > > > > > > 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@intel.com> > > > --- > > > 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 > > >
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': default: print_usage(argv); }