aboutsummaryrefslogtreecommitdiff
path: root/tests/test_target_ethos_u_config.py
diff options
context:
space:
mode:
authorBenjamin Klimczak <benjamin.klimczak@arm.com>2023-01-11 12:32:02 +0000
committerBenjamin Klimczak <benjamin.klimczak@arm.com>2023-02-08 15:23:29 +0000
commita4fb8c72f15146c95df16c25e75f03344e9814fd (patch)
treece6d9cf39951a0c85d2773d436cc5010ecf78a8f /tests/test_target_ethos_u_config.py
parent09ecc5c8acb758e8def33155feb746a34dd7b560 (diff)
downloadmlia-a4fb8c72f15146c95df16c25e75f03344e9814fd.tar.gz
MLIA-591 Create interface for target profiles
New class 'TargetProfile' is used to load and verify target profiles. Change-Id: I76373a923e2e5f55c4e95860635afe9fc5627a5d
Diffstat (limited to 'tests/test_target_ethos_u_config.py')
-rw-r--r--tests/test_target_ethos_u_config.py42
1 files changed, 8 insertions, 34 deletions
diff --git a/tests/test_target_ethos_u_config.py b/tests/test_target_ethos_u_config.py
index 08a20ff..7f13b26 100644
--- a/tests/test_target_ethos_u_config.py
+++ b/tests/test_target_ethos_u_config.py
@@ -5,14 +5,11 @@ from __future__ import annotations
from contextlib import ExitStack as does_not_raise
from typing import Any
-from unittest.mock import MagicMock
import pytest
from mlia.backend.vela.compiler import VelaCompilerOptions
from mlia.target.ethos_u.config import EthosUConfiguration
-from mlia.target.ethos_u.config import get_target
-from mlia.utils.filesystem import get_vela_config
def test_compiler_options_default_init() -> None:
@@ -33,48 +30,28 @@ def test_compiler_options_default_init() -> None:
def test_ethosu_target() -> None:
"""Test Ethos-U target configuration init."""
- default_config = EthosUConfiguration("ethos-u55-256")
+ default_config = EthosUConfiguration.load_profile("ethos-u55-256")
assert default_config.target == "ethos-u55"
assert default_config.mac == 256
assert default_config.compiler_options is not None
-def test_get_target() -> None:
- """Test function get_target."""
- with pytest.raises(Exception, match="No target profile given"):
- get_target(None) # type: ignore
-
- with pytest.raises(Exception, match=r"File not found:*"):
- get_target("unknown")
-
- u65_device = get_target("ethos-u65-512")
-
- assert isinstance(u65_device, EthosUConfiguration)
- assert u65_device.target == "ethos-u65"
- assert u65_device.mac == 512
- assert u65_device.compiler_options.accelerator_config == "ethos-u65-512"
- assert u65_device.compiler_options.memory_mode == "Dedicated_Sram"
- assert u65_device.compiler_options.config_files == str(get_vela_config())
-
-
@pytest.mark.parametrize(
"profile_data, expected_error",
[
[
{},
pytest.raises(
- Exception,
- match="Mandatory fields missing from target profile: "
- r"\['mac', 'memory_mode', 'system_config', 'target'\]",
+ KeyError,
+ match=r"'target'",
),
],
[
{"target": "ethos-u65", "mac": 512},
pytest.raises(
- Exception,
- match="Mandatory fields missing from target profile: "
- r"\['memory_mode', 'system_config'\]",
+ KeyError,
+ match=r"'system_config'",
),
],
[
@@ -114,12 +91,9 @@ def test_get_target() -> None:
],
)
def test_ethosu_configuration(
- monkeypatch: pytest.MonkeyPatch, profile_data: dict[str, Any], expected_error: Any
+ profile_data: dict[str, Any], expected_error: Any
) -> None:
"""Test creating Ethos-U configuration."""
- monkeypatch.setattr(
- "mlia.target.ethos_u.config.get_profile", MagicMock(return_value=profile_data)
- )
-
with expected_error:
- EthosUConfiguration("target")
+ cfg = EthosUConfiguration(**profile_data)
+ cfg.verify()