aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Kunze <eric.kunze@arm.com>2023-07-20 10:52:56 -0700
committerEric Kunze <eric.kunze@arm.com>2023-07-26 17:23:54 +0000
commit97b0027ca018ad9b5f91f41b413e843afb15c6d7 (patch)
tree9e57fd24214e63444444a4dab6353bb7ccc04dab
parent95961ccffc3e3cac1e6d85c28ca361bcb0bd65bc (diff)
downloadreference_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-xverif/frameworks/tosa_verif_framework_compiler_runner.py32
-rwxr-xr-xverif/frameworks/tosa_verif_framework_generator.py3
-rw-r--r--verif/frameworks/write_test_json.py4
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