From: "Juraj Linkeš" <juraj.linkes@pantheon.tech>
To: Luca Vizzarro <luca.vizzarro@arm.com>
Cc: dev@dpdk.org, Paul Szczepanek <paul.szczepanek@arm.com>
Subject: Re: [PATCH 2/4] dts: customise argparse error message
Date: Mon, 29 Jan 2024 14:04:38 +0100 [thread overview]
Message-ID: <CAOb5WZZh8O5i6qbATqJ5ivGN4dPCpMW6_6Q3kD9O9YhPuxcNwA@mail.gmail.com> (raw)
In-Reply-To: <20240122182611.1904974-3-luca.vizzarro@arm.com>
On Mon, Jan 22, 2024 at 7:26 PM Luca Vizzarro <luca.vizzarro@arm.com> wrote:
>
> This commit customises the arguments parsing class' error message,
> making it so the confusing usage is not displayed in these occurrences,
I'm curious, what exactly is confusing about the message?
> but the user is redirected to use the help argument instead.
>
> Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
> Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
> ---
> dts/framework/settings.py | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/dts/framework/settings.py b/dts/framework/settings.py
> index 2d0365e763..acfe5cad44 100644
> --- a/dts/framework/settings.py
> +++ b/dts/framework/settings.py
> @@ -170,6 +170,15 @@ def _parse_revision_id(rev_id: str) -> str:
> )
>
>
> +class ArgumentParser(argparse.ArgumentParser):
> + """ArgumentParser with a custom error message."""
> + def error(self, message):
> + print(f"{self.prog}: error: {message}\n", file=sys.stderr)
> + self.exit(2,
> + "For help and usage, "
> + "run the command with the --help flag.\n")
> +
> +
> @dataclass(slots=True)
> class Settings:
> """Default framework-wide user settings.
> @@ -200,8 +209,8 @@ class Settings:
> SETTINGS: Settings = Settings()
>
>
> -def _get_parser() -> argparse.ArgumentParser:
> - parser = argparse.ArgumentParser(
> +def _get_parser() -> ArgumentParser:
> + parser = ArgumentParser(
> description="Run DPDK test suites. All options may be specified with the environment "
> "variables provided in brackets. Command line arguments have higher priority.",
> formatter_class=argparse.ArgumentDefaultsHelpFormatter,
> --
> 2.34.1
>
next prev parent reply other threads:[~2024-01-29 13:04 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-22 18:26 [PATCH 0/4] dts: error and usage improvements Luca Vizzarro
2024-01-22 18:26 ` [PATCH 1/4] dts: constrain DPDK source flag Luca Vizzarro
2024-01-29 11:47 ` Juraj Linkeš
2024-02-23 19:09 ` Luca Vizzarro
2024-03-01 10:22 ` Juraj Linkeš
2024-01-22 18:26 ` [PATCH 2/4] dts: customise argparse error message Luca Vizzarro
2024-01-29 13:04 ` Juraj Linkeš [this message]
2024-02-23 19:12 ` Luca Vizzarro
2024-02-26 9:09 ` Juraj Linkeš
2024-01-22 18:26 ` [PATCH 3/4] dts: show help when DTS is ran without args Luca Vizzarro
2024-01-22 18:26 ` [PATCH 4/4] dts: log stderr with failed remote commands Luca Vizzarro
2024-01-29 13:10 ` Juraj Linkeš
2024-02-23 19:19 ` Luca Vizzarro
2024-02-26 9:05 ` Juraj Linkeš
2024-03-18 17:17 ` [PATCH v2 0/3] dts: error and usage improvements Luca Vizzarro
2024-03-18 17:17 ` [PATCH v2 1/3] dts: rework arguments framework Luca Vizzarro
2024-04-04 9:25 ` Juraj Linkeš
2024-04-09 15:14 ` Luca Vizzarro
2024-04-10 9:46 ` Juraj Linkeš
2024-03-18 17:17 ` [PATCH v2 2/3] dts: constrain DPDK source argument Luca Vizzarro
2024-03-18 17:17 ` [PATCH v2 3/3] dts: store stderr in RemoteCommandExecutionError Luca Vizzarro
2024-05-14 11:44 ` [PATCH v3 0/3] error and usage improvements Luca Vizzarro
2024-05-14 11:44 ` [PATCH v3 1/3] dts: rework arguments framework Luca Vizzarro
2024-05-14 11:55 ` [PATCH v3] " Luca Vizzarro
2024-05-14 11:44 ` [PATCH v3 2/3] dts: constrain DPDK source argument Luca Vizzarro
2024-05-14 11:44 ` [PATCH v3 3/3] dts: store stderr in RemoteCommandExecutionError Luca Vizzarro
2024-05-14 12:04 ` [PATCH v4 0/3] error and usage improvements Luca Vizzarro
2024-05-14 12:05 ` [PATCH v4 1/3] dts: update mypy static checker Luca Vizzarro
2024-05-14 12:05 ` [PATCH v4 2/3] dts: clean up config types Luca Vizzarro
2024-05-14 12:05 ` [PATCH v4 3/3] dts: rework arguments framework Luca Vizzarro
2024-05-14 12:10 ` [PATCH v5 0/3] error and usage improvements Luca Vizzarro
2024-05-14 12:10 ` [PATCH v5 1/3] dts: rework arguments framework Luca Vizzarro
2024-05-30 15:30 ` Juraj Linkeš
2024-05-30 18:43 ` Luca Vizzarro
2024-05-31 9:04 ` Juraj Linkeš
2024-05-14 12:10 ` [PATCH v5 2/3] dts: constrain DPDK source argument Luca Vizzarro
2024-05-30 15:41 ` Juraj Linkeš
2024-05-30 18:46 ` Luca Vizzarro
2024-05-14 12:10 ` [PATCH v5 3/3] dts: store stderr in RemoteCommandExecutionError Luca Vizzarro
2024-05-30 15:47 ` Juraj Linkeš
2024-05-30 18:48 ` Luca Vizzarro
2024-05-14 15:26 ` [PATCH v5 0/3] error and usage improvements Luca Vizzarro
2024-05-31 11:20 ` [PATCH v6 " Luca Vizzarro
2024-05-31 11:20 ` [PATCH v6 1/3] dts: rework arguments framework Luca Vizzarro
2024-05-31 12:49 ` Juraj Linkeš
2024-06-14 13:55 ` Jeremy Spewock
2024-05-31 11:20 ` [PATCH v6 2/3] dts: constrain DPDK source argument Luca Vizzarro
2024-05-31 12:50 ` Juraj Linkeš
2024-06-14 13:56 ` Jeremy Spewock
2024-05-31 11:20 ` [PATCH v6 3/3] dts: store stderr in RemoteCommandExecutionError Luca Vizzarro
2024-05-31 12:51 ` Juraj Linkeš
2024-06-14 13:56 ` Jeremy Spewock
2024-06-20 0:24 ` [PATCH v6 0/3] error and usage improvements Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAOb5WZZh8O5i6qbATqJ5ivGN4dPCpMW6_6Q3kD9O9YhPuxcNwA@mail.gmail.com \
--to=juraj.linkes@pantheon.tech \
--cc=dev@dpdk.org \
--cc=luca.vizzarro@arm.com \
--cc=paul.szczepanek@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).