diff options
Diffstat (limited to 'tests/test_target_config.py')
-rw-r--r-- | tests/test_target_config.py | 63 |
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( |