aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/utils/misc.py
diff options
context:
space:
mode:
authorRuomei Yan <ruomei.yan@arm.com>2022-12-13 22:02:21 +0000
committerRuomei Yan <ruomei.yan@arm.com>2023-01-16 16:31:23 +0000
commit4eb3fef8e5876c69dc6bac70fdc010805d5b97f2 (patch)
tree88beca8a30954f020b7f34c0a3f9df780b966244 /src/mlia/utils/misc.py
parent5800fc990ed1e36ce7d06670f911fbb12a0ec771 (diff)
downloadmlia-4eb3fef8e5876c69dc6bac70fdc010805d5b97f2.tar.gz
MLIA-741/2 Report test results
- add version extraction function in compat.py - create Metadata, MLIAMetadata, TOSAMetadata and MetadataDisplay classes - update the reporting functions so tosa and mlia version will be displayed in output json - update unit test test_configure_and_get_tosa_advisor to mock the get_events function - update the copyright information of all changed/added files - handle exception and report to json when program crashes - write new context managers for capturing stderr and stdout - support reporting stderr to json output - support reporting model checksum and model name to json output - made changes in test_e2e.py handling {model_name} replacement in --output - add unit tests Change-Id: I6629fd1c5754378e6accd488217c83d87c7eb6f1
Diffstat (limited to 'src/mlia/utils/misc.py')
-rw-r--r--src/mlia/utils/misc.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/mlia/utils/misc.py b/src/mlia/utils/misc.py
index de95448..dd2f007 100644
--- a/src/mlia/utils/misc.py
+++ b/src/mlia/utils/misc.py
@@ -1,9 +1,31 @@
-# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates.
+# SPDX-FileCopyrightText: Copyright 2022-2023, Arm Limited and/or its affiliates.
# SPDX-License-Identifier: Apache-2.0
"""Various util functions."""
+from importlib import metadata
+from pathlib import Path
+
+from mlia.utils.filesystem import sha256
+
+
+class MetadataError(Exception):
+ """Metadata error."""
def yes(prompt: str) -> bool:
"""Return true if user confirms the action."""
response = input(f"{prompt} [y/n]: ")
return response in ["y", "Y"]
+
+
+def get_pkg_version(pkg_name: str) -> str:
+ """Return the version of python package."""
+ try:
+ pkg_version = metadata.version(pkg_name)
+ except FileNotFoundError as exc:
+ raise MetadataError(exc) from exc
+ return pkg_version
+
+
+def get_file_checksum(input_path: Path) -> str:
+ """Retrun the checksum of the input model."""
+ return sha256(input_path)