aboutsummaryrefslogtreecommitdiff
path: root/tests/test_target_config.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_target_config.py')
-rw-r--r--tests/test_target_config.py63
1 files changed, 37 insertions, 26 deletions
diff --git a/tests/test_target_config.py b/tests/test_target_config.py
index c6235a5..368d394 100644
--- a/tests/test_target_config.py
+++ b/tests/test_target_config.py
@@ -3,35 +3,28 @@
"""Tests for the backend config module."""
from __future__ import annotations
-from pathlib import Path
-
import pytest
from mlia.backend.config import BackendConfiguration
from mlia.backend.config import BackendType
from mlia.backend.config import System
from mlia.core.common import AdviceCategory
-from mlia.target.config import copy_profile_file_to_output_dir
+from mlia.target.config import BUILTIN_SUPPORTED_PROFILE_NAMES
+from mlia.target.config import get_builtin_profile_path
from mlia.target.config import get_builtin_supported_profile_names
-from mlia.target.config import get_profile_file
+from mlia.target.config import is_builtin_profile
from mlia.target.config import load_profile
from mlia.target.config import TargetInfo
from mlia.target.config import TargetProfile
+from mlia.target.cortex_a.advisor import CortexAInferenceAdvisor
+from mlia.target.cortex_a.config import CortexAConfiguration
from mlia.utils.registry import Registry
-def test_copy_profile_file_to_output_dir(tmp_path: Path) -> None:
- """Test if the profile file is copied into the output directory."""
- test_target_profile_name = "ethos-u55-128"
- test_file_path = Path(f"{tmp_path}/{test_target_profile_name}.toml")
-
- copy_profile_file_to_output_dir(test_target_profile_name, tmp_path)
- assert Path.is_file(test_file_path)
-
-
-def test_get_builtin_supported_profile_names() -> None:
- """Test profile names getter."""
- assert get_builtin_supported_profile_names() == [
+def test_builtin_supported_profile_names() -> None:
+ """Test built-in profile names."""
+ assert BUILTIN_SUPPORTED_PROFILE_NAMES == get_builtin_supported_profile_names()
+ assert BUILTIN_SUPPORTED_PROFILE_NAMES == [
"cortex-a",
"ethos-u55-128",
"ethos-u55-256",
@@ -39,23 +32,24 @@ def test_get_builtin_supported_profile_names() -> None:
"ethos-u65-512",
"tosa",
]
+ for profile_name in BUILTIN_SUPPORTED_PROFILE_NAMES:
+ assert is_builtin_profile(profile_name)
+ profile_file = get_builtin_profile_path(profile_name)
+ assert profile_file.is_file()
-def test_get_profile_file() -> None:
- """Test function 'get_profile_file'."""
- profile_file = get_profile_file("cortex-a")
+def test_builtin_profile_files() -> None:
+ """Test function 'get_bulitin_profile_file'."""
+ profile_file = get_builtin_profile_path("cortex-a")
assert profile_file.is_file()
- assert profile_file == get_profile_file(profile_file)
- with pytest.raises(Exception):
- get_profile_file("UNKNOWN")
- with pytest.raises(Exception):
- get_profile_file("")
+ profile_file = get_builtin_profile_path("UNKNOWN_FILE_THAT_DOES_NOT_EXIST")
+ assert not profile_file.exists()
def test_load_profile() -> None:
"""Test getting profile data."""
- profile_file = get_profile_file("ethos-u55-256")
+ profile_file = get_builtin_profile_path("ethos-u55-256")
assert load_profile(profile_file) == {
"target": "ethos-u55",
"mac": 256,
@@ -80,6 +74,9 @@ def test_target_profile() -> None:
profile = MyTargetProfile("AnyTarget")
assert profile.target == "AnyTarget"
+ profile = MyTargetProfile.load_json_data({"target": "MySuperTarget"})
+ assert profile.target == "MySuperTarget"
+
profile = MyTargetProfile("")
with pytest.raises(ValueError):
profile.verify()
@@ -101,7 +98,12 @@ def test_target_info(
supported: bool,
) -> None:
"""Test the class 'TargetInfo'."""
- info = TargetInfo(["backend"])
+ info = TargetInfo(
+ ["backend"],
+ ["backend"],
+ CortexAInferenceAdvisor,
+ CortexAConfiguration,
+ )
backend_registry = Registry[BackendConfiguration]()
backend_registry.register(
@@ -116,3 +118,12 @@ def test_target_info(
assert info.is_supported(advice, check_system) == supported
assert bool(info.filter_supported_backends(advice, check_system)) == supported
+
+ info = TargetInfo(
+ ["unknown_backend"],
+ ["unknown_backend"],
+ CortexAInferenceAdvisor,
+ CortexAConfiguration,
+ )
+ assert not info.is_supported(advice, check_system)
+ assert not info.filter_supported_backends(advice, check_system)