[PATCH v3 4/5] benchtests: Fix validate_benchout.py exceptions
naohirot@fujitsu.com
naohirot@fujitsu.com
Wed Sep 8 01:55:28 GMT 2021
Hi all, is there any comment?
https://sourceware.org/pipermail/libc-alpha/2021-August/129841.html
Thanks.
Naohiro
> -----Original Message-----
> From: Naohiro Tamura <naohirot@fujitsu.com>
> Sent: Thursday, August 5, 2021 4:52 PM
> To: libc-alpha@sourceware.org
> Cc: Tamura, Naohiro/田村 直広 <naohirot@fujitsu.com>
> Subject: [PATCH v3 4/5] benchtests: Fix validate_benchout.py exceptions
>
> This patch fixed validate_benchout.py two exceptions, AttributeError
> if benchout_strings.schema.json is specified and
> json.decoder.JSONDecodeError if benchout is not JSON.
> ---
> benchtests/scripts/import_bench.py | 5 ++++-
> benchtests/scripts/validate_benchout.py | 6 +++++-
> 2 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/benchtests/scripts/import_bench.py b/benchtests/scripts/import_bench.py
> index a799b4e1b7dc..e3337ca5d638 100644
> --- a/benchtests/scripts/import_bench.py
> +++ b/benchtests/scripts/import_bench.py
> @@ -104,7 +104,10 @@ def do_for_all_timings(bench, callback):
> """
> for func in bench['functions'].keys():
> for k in bench['functions'][func].keys():
> - if 'timings' not in bench['functions'][func][k].keys():
> + try:
> + if 'timings' not in bench['functions'][func][k].keys():
> + continue
> + except AttributeError:
> continue
>
> callback(bench, func, k)
> diff --git a/benchtests/scripts/validate_benchout.py b/benchtests/scripts/validate_benchout.py
> index 47df33ed0252..00d5fa0ee5eb 100755
> --- a/benchtests/scripts/validate_benchout.py
> +++ b/benchtests/scripts/validate_benchout.py
> @@ -73,11 +73,15 @@ def main(args):
>
> except bench.validator.ValidationError as e:
> return print_and_exit("Invalid benchmark output: %s" % e.message,
> - os.EX_DATAERR)
> + os.EX_DATAERR)
>
> except bench.validator.SchemaError as e:
> return print_and_exit("Invalid schema: %s" % e.message, os.EX_DATAERR)
>
> + except json.decoder.JSONDecodeError as e:
> + return print_and_exit("Benchmark output in %s is not JSON." % args[0],
> + os.EX_DATAERR)
> +
> print("Benchmark output in %s is valid." % args[0])
> return os.EX_OK
>
> --
> 2.17.1
More information about the Libc-alpha
mailing list