From a4fb8c72f15146c95df16c25e75f03344e9814fd Mon Sep 17 00:00:00 2001 From: Benjamin Klimczak Date: Wed, 11 Jan 2023 12:32:02 +0000 Subject: MLIA-591 Create interface for target profiles New class 'TargetProfile' is used to load and verify target profiles. Change-Id: I76373a923e2e5f55c4e95860635afe9fc5627a5d --- tests/test_target_ethos_u_config.py | 42 +++++++------------------------------ 1 file changed, 8 insertions(+), 34 deletions(-) (limited to 'tests/test_target_ethos_u_config.py') 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() -- cgit v1.2.1