diff options
author | Benjamin Klimczak <benjamin.klimczak@arm.com> | 2022-12-14 11:20:11 +0000 |
---|---|---|
committer | Benjamin Klimczak <benjamin.klimczak@arm.com> | 2023-01-04 10:11:33 +0000 |
commit | dcd0bd31985c27e1d07333351b26cf8ad12ad1fd (patch) | |
tree | a3388ff5f91e7cdc7ec41271a1a76cdbfae38ece /tests/test_target_config.py | |
parent | 4b4cf29cb1e7d917ae001e258ff01f7846c34778 (diff) | |
download | mlia-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.py | 53 |
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 |