From 97b0027ca018ad9b5f91f41b413e843afb15c6d7 Mon Sep 17 00:00:00 2001 From: Eric Kunze Date: Thu, 20 Jul 2023 10:52:56 -0700 Subject: 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 --- .../tosa_verif_framework_compiler_runner.py | 32 ++++++++++------------ verif/frameworks/tosa_verif_framework_generator.py | 3 ++ 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 -- cgit v1.2.1