diff options
author | Jeremy Johnson <jeremy.johnson@arm.com> | 2023-10-09 16:31:13 +0100 |
---|---|---|
committer | Jeremy Johnson <jeremy.johnson@arm.com> | 2023-10-16 15:08:36 +0100 |
commit | 65ba809d7a8b4ddd0a51f6c76ad0afc5f417de07 (patch) | |
tree | 249926aeeccfb0dac60f27967e5d01001adc5e33 /verif/runner/tosa_test_runner.py | |
parent | 9c2fe6e129e4d176c3e14f172b92efe985af7c78 (diff) | |
download | reference_model-65ba809d7a8b4ddd0a51f6c76ad0afc5f417de07.tar.gz |
Data generator library python interface added
Added support for using generate library in tosa_verif_build_tests
and tosa_verif_run_tests tosa tool scripts.
Reduced scope of compliance test creation and verification to
the supported type of FP32.
Fix missing virtual destructor warning in generate_dot_product.h and
add config file for generate library.
Simple pytests included to check python interface.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I6cdad9b00660d6ddc8bd07fdea813937fb48626a
Diffstat (limited to 'verif/runner/tosa_test_runner.py')
-rw-r--r-- | verif/runner/tosa_test_runner.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/verif/runner/tosa_test_runner.py b/verif/runner/tosa_test_runner.py index b348f50..984b2d9 100644 --- a/verif/runner/tosa_test_runner.py +++ b/verif/runner/tosa_test_runner.py @@ -10,7 +10,9 @@ from checker.color_print import print_color from checker.color_print import set_print_in_color from checker.tosa_result_checker import set_print_result from checker.tosa_result_checker import test_check +from generator.datagenerator import GenerateLibrary from json2fbbin import json2fbbin +from json2numpy import json2numpy from runner.tosa_test_presets import TOSA_REFCOMPLIANCE_RUNNER @@ -71,6 +73,7 @@ class TosaTestRunner: self.testDirPath = testDirPath self.testName = self.testDirPath.name self.verify_lib_path = args.verify_lib_path + self.generate_lib_path = args.generate_lib_path set_print_in_color(not args.no_color) # Stop the result checker printing anything - we will do it @@ -135,6 +138,33 @@ class TosaTestRunner: return True, "non-{} profile".format(self.args.profile) return False, "" + def _ready_file(self, dataFile, jsonOnly=False): + """Convert/create any data file that is missing.""" + dataPath = self.testDirPath / dataFile + if not dataPath.is_file(): + jsonPath = dataPath.with_suffix(".json") + if jsonPath.is_file(): + # Data files stored as JSON + if self.args.verbose: + print(f"Readying data file: {dataPath}") + json2numpy.json_to_npy(jsonPath) + elif not jsonOnly: + # Use data generator for all data files + if self.args.verbose: + print("Readying all data input files") + dgl = GenerateLibrary(self.generate_lib_path) + dgl.set_config(self.testDesc) + dgl.write_numpy_files(self.testDirPath) + + def readyDataFiles(self): + """Check that the data files have been created/converted.""" + for dataFile in self.testDesc["ifm_file"]: + self._ready_file(dataFile) + # Convert expected result if any + if "expected_result_file" in self.testDesc: + for dataFile in self.testDesc["expected_result_file"]: + self._ready_file(dataFile, jsonOnly=True) + def runTestGraph(self): """Override with function that calls system under test.""" pass |