[PATCH 2/4] dts: customise argparse error message
Juraj Linkeš
juraj.linkes at pantheon.tech
Mon Jan 29 14:04:38 CET 2024
On Mon, Jan 22, 2024 at 7:26 PM Luca Vizzarro <luca.vizzarro at 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 at arm.com>
> Signed-off-by: Luca Vizzarro <luca.vizzarro at 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
>
More information about the dev
mailing list