diff options
author | Benjamin Klimczak <benjamin.klimczak@arm.com> | 2023-01-11 12:32:02 +0000 |
---|---|---|
committer | Benjamin Klimczak <benjamin.klimczak@arm.com> | 2023-02-08 15:23:29 +0000 |
commit | a4fb8c72f15146c95df16c25e75f03344e9814fd (patch) | |
tree | ce6d9cf39951a0c85d2773d436cc5010ecf78a8f /tests/test_target_ethos_u_config.py | |
parent | 09ecc5c8acb758e8def33155feb746a34dd7b560 (diff) | |
download | mlia-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.py | 42 |
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() |