aboutsummaryrefslogtreecommitdiff
path: root/tests/test_target_config.py
diff options
context:
space:
mode:
authorBenjamin Klimczak <benjamin.klimczak@arm.com>2022-12-14 11:20:11 +0000
committerBenjamin Klimczak <benjamin.klimczak@arm.com>2023-01-04 10:11:33 +0000
commitdcd0bd31985c27e1d07333351b26cf8ad12ad1fd (patch)
treea3388ff5f91e7cdc7ec41271a1a76cdbfae38ece /tests/test_target_config.py
parent4b4cf29cb1e7d917ae001e258ff01f7846c34778 (diff)
downloadmlia-dcd0bd31985c27e1d07333351b26cf8ad12ad1fd.tar.gz
MLIA-589 Create an API to get target information
Change-Id: Ieeaa9188ea1e29e2ccaad7475d457bce71e3140d
Diffstat (limited to 'tests/test_target_config.py')
-rw-r--r--tests/test_target_config.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/test_target_config.py b/tests/test_target_config.py
new file mode 100644
index 0000000..66ebed6
--- /dev/null
+++ b/tests/test_target_config.py
@@ -0,0 +1,53 @@
+# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates.
+# SPDX-License-Identifier: Apache-2.0
+"""Tests for the backend config module."""
+from __future__ import annotations
+
+import pytest
+
+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 TargetInfo
+from mlia.utils.registry import Registry
+
+
+def test_ip_config() -> None:
+ """Test the class 'IPConfiguration'."""
+ cfg = IPConfiguration("AnyTarget")
+ assert cfg.target == "AnyTarget"
+
+
+@pytest.mark.parametrize(
+ ("advice", "check_system", "supported"),
+ (
+ (None, False, True),
+ (None, True, True),
+ (AdviceCategory.OPERATORS, True, True),
+ (AdviceCategory.OPTIMIZATION, True, False),
+ ),
+)
+def test_target_info(
+ monkeypatch: pytest.MonkeyPatch,
+ advice: AdviceCategory | None,
+ check_system: bool,
+ supported: bool,
+) -> None:
+ """Test the class 'TargetInfo'."""
+ info = TargetInfo(["backend"])
+
+ backend_registry = Registry[BackendConfiguration]()
+ backend_registry.register(
+ "backend",
+ BackendConfiguration(
+ [AdviceCategory.OPERATORS],
+ [System.CURRENT],
+ BackendType.BUILTIN,
+ ),
+ )
+ monkeypatch.setattr("mlia.target.config.backend_registry", backend_registry)
+
+ assert info.is_supported(advice, check_system) == supported
+ assert bool(info.filter_supported_backends(advice, check_system)) == supported