diff options
author | Eric Kunze <eric.kunze@arm.com> | 2023-07-20 10:52:56 -0700 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2023-07-26 17:23:54 +0000 |
commit | 97b0027ca018ad9b5f91f41b413e843afb15c6d7 (patch) | |
tree | 9e57fd24214e63444444a4dab6353bb7ccc04dab | |
parent | 95961ccffc3e3cac1e6d85c28ca361bcb0bd65bc (diff) | |
download | reference_model-97b0027ca018ad9b5f91f41b413e843afb15c6d7.tar.gz |
Update framework tools to add name in json
Name of the test can now come from the json description
rather than inferred from the directory. Old method remains to
keep functionality with older tests
Change-Id: I79f872103ae6a101b5cc799af91c933839f28dfb
-rwxr-xr-x | verif/frameworks/tosa_verif_framework_compiler_runner.py | 32 | ||||
-rwxr-xr-x | verif/frameworks/tosa_verif_framework_generator.py | 3 | ||||
-rw-r--r-- | verif/frameworks/write_test_json.py | 4 |
3 files changed, 21 insertions, 18 deletions
diff --git a/verif/frameworks/tosa_verif_framework_compiler_runner.py b/verif/frameworks/tosa_verif_framework_compiler_runner.py index 28e4369..fb33cfc 100755 --- a/verif/frameworks/tosa_verif_framework_compiler_runner.py +++ b/verif/frameworks/tosa_verif_framework_compiler_runner.py @@ -14,6 +14,7 @@ import traceback from datetime import datetime from enum import IntEnum from enum import unique +from pathlib import Path import numpy as np from checker.tosa_result_checker import LogColors @@ -278,29 +279,24 @@ def write_reference_runner_json( def run_test(args, test, framework): - # parse test_name from test directory path - test_path = test.split("/") - test_name = None - for t in test_path[::-1]: - if len(t) != 0: - test_name = t - break - if not test_name: - raise Exception("Could not parse test_name from {}".format(test)) - - print_color(LogColors.GREEN, "## Running {} test {}".format(framework, test_name)) - + test_path = Path(test) msg = "" try: - with open(os.path.join(test, "test.json"), "r") as f: + with open(test_path / "test.json", "r") as f: test_desc = json.load(f) except Exception: - raise Exception( - "Could not load or parse test from {}".format( - os.path.join(test, "test.json") - ) - ) + raise Exception(f"Could not load or parse test from {test_path / 'test.json'}") + + test_name = None + if "name" in test_desc: + test_name = test_desc["name"] + else: + test_name = test_path.name + if not test_name: + raise Exception("Could not parse test_name from {}".format(test)) + + print_color(LogColors.GREEN, "## Running {} test {}".format(framework, test_name)) try: if not args.override_exclusions: diff --git a/verif/frameworks/tosa_verif_framework_generator.py b/verif/frameworks/tosa_verif_framework_generator.py index 124bf6e..ec009c6 100755 --- a/verif/frameworks/tosa_verif_framework_generator.py +++ b/verif/frameworks/tosa_verif_framework_generator.py @@ -1288,6 +1288,8 @@ def run_unit_test( # Assume single result tensor now tflite_result_name = output_details[0]["name"] + _, test_name = os.path.split(test_dir) + # Write out test descriptor write_test_json( filename=os.path.join(test_dir, "test.json"), @@ -1302,6 +1304,7 @@ def run_unit_test( ifm_shape=placeholder_shapes, framework_exclusions=excluded_framework_list, quantized=is_quantized, + test_name=test_name, ) except Exception as e: msg = "Error running task: {}".format(e) diff --git a/verif/frameworks/write_test_json.py b/verif/frameworks/write_test_json.py index 68dfc8f..d52a777 100644 --- a/verif/frameworks/write_test_json.py +++ b/verif/frameworks/write_test_json.py @@ -18,10 +18,14 @@ def write_test_json( ifm_shape=None, framework_exclusions=None, quantized=False, + test_name=None, ): test_desc = dict() + if test_name: + test_desc["name"] = test_name + if tf_model_filename: test_desc["tf_model_filename"] = tf_model_filename |