selftests/xsk: display command line options with -h
authorMagnus Karlsson <magnus.karlsson@intel.com>
Thu, 14 Sep 2023 08:48:57 +0000 (10:48 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 14 Sep 2023 16:47:56 +0000 (09:47 -0700)
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>
Link: https://lore.kernel.org/r/20230914084900.492-11-magnus.karlsson@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/test_xsk.sh
tools/testing/selftests/bpf/xskxceiver.c

index 296006ea6e9cc67ca69edee51197d56a03f44e7b..65aafe0003db054e9dfd156092fed53b07be06a0 100755 (executable)
 #
 # 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) MODE=${OPTARG};;
                l) list=1;;
                t) 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}
index d64061d647ae934ee0680845292f236e53a9dbbd..43e0a57969294fdac40cdbbdd81e1338de3e4958 100644 (file)
@@ -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();
@@ -402,6 +404,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);
                }