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, 58 insertions, 5 deletions
diff --git a/tests/test_target_config.py b/tests/test_target_config.py
index 48f0a58..26f524e 100644
--- a/tests/test_target_config.py
+++ b/tests/test_target_config.py
@@ -9,15 +9,68 @@ 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 IPConfiguration
+from mlia.target.config import get_builtin_supported_profile_names
+from mlia.target.config import get_profile_file
+from mlia.target.config import load_profile
from mlia.target.config import TargetInfo
+from mlia.target.config import TargetProfile
from mlia.utils.registry import Registry
-def test_ip_config() -> None:
- """Test the class 'IPConfiguration'."""
- cfg = IPConfiguration("AnyTarget")
- assert cfg.target == "AnyTarget"
+def test_get_builtin_supported_profile_names() -> None:
+ """Test profile names getter."""
+ assert get_builtin_supported_profile_names() == [
+ "cortex-a",
+ "ethos-u55-128",
+ "ethos-u55-256",
+ "ethos-u65-256",
+ "ethos-u65-512",
+ "tosa",
+ ]
+
+
+def test_get_profile_file() -> None:
+ """Test function 'get_profile_file'."""
+ profile_file = get_profile_file("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("")
+
+
+def test_load_profile() -> None:
+ """Test getting profile data."""
+ profile_file = get_profile_file("ethos-u55-256")
+ assert load_profile(profile_file) == {
+ "target": "ethos-u55",
+ "mac": 256,
+ "memory_mode": "Shared_Sram",
+ "system_config": "Ethos_U55_High_End_Embedded",
+ }
+
+ with pytest.raises(Exception, match=r"No such file or directory: 'unknown'"):
+ load_profile("unknown")
+
+
+def test_target_profile() -> None:
+ """Test the class 'TargetProfile'."""
+
+ class MyTargetProfile(TargetProfile):
+ """Test class deriving from TargetProfile."""
+
+ def verify(self) -> None:
+ super().verify()
+ assert self.target
+
+ profile = MyTargetProfile("AnyTarget")
+ assert profile.target == "AnyTarget"
+
+ profile = MyTargetProfile("")
+ with pytest.raises(ValueError):
+ profile.verify()
@pytest.mark.parametrize(