07/11/2022 10:39, Robin Jarry:
> Thomas Monjalon, Nov 04, 2022 at 12:30:
> > Previously, the script was doing nothing if no argument was provided.
> >
> > If neither show, mount/unmount, clear/reserve are specified,
> > it is assumed that the user does not know how to use the script.
> > So the usage is printed and an error code is used in exit.
> > The user will understand something is wrong,
> > and can recall the script with the option -h to get more information.
> >
> > Signed-off-by: Thomas Monjalon <[email protected]>
> > ---
> > usertools/dpdk-hugepages.py | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/usertools/dpdk-hugepages.py b/usertools/dpdk-hugepages.py
> > index a22d504d3a..823cfcf185 100755
> > --- a/usertools/dpdk-hugepages.py
> > +++ b/usertools/dpdk-hugepages.py
> > @@ -272,6 +272,10 @@ def main():
> > args.reserve = args.setup
> > args.mount = True
> >
> > + if not (args.show or args.mount or args.unmount or args.clear or
> > args.reserve):
> > + parser.print_usage()
> > + sys.exit(1)
>
> Hi Thomas,
>
> I believe you can do:
>
> parser.error("at least one of -s/-c/-m/-u/-r/--setup is required")
>
> and omit sys.exit(1).
>
> $ ~/dev/dpdk/usertools/dpdk-hugepages.py
> usage: dpdk-hugepages.py [-h] [--show] [--clear] [--mount] [--unmount]
> [--node NODE] [--pagesize SIZE] [--reserve SIZE] [--setup SIZE]
> dpdk-hugepages.py: error: at least one of -s/-c/-m/-u/-r/--setup is required
It is a long message and not long enough to be accurate (long options are
missing).
I would go with parser.error("no action specified")