[PATCH v2 5/5] benchtests: Fix validate_benchout.py exceptions
Naohiro Tamura
naohirot@fujitsu.com
Tue Jul 20 06:37:03 GMT 2021
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