From 0efca3cadbad5517a59884576ddb90cfe7ac30f8 Mon Sep 17 00:00:00 2001 From: Diego Russo Date: Mon, 30 May 2022 13:34:14 +0100 Subject: Add MLIA codebase Add MLIA codebase including sources and tests. Change-Id: Id41707559bd721edd114793618d12ccd188d8dbd --- tests/mlia/test_core_context.py | 62 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/mlia/test_core_context.py (limited to 'tests/mlia/test_core_context.py') diff --git a/tests/mlia/test_core_context.py b/tests/mlia/test_core_context.py new file mode 100644 index 0000000..10015aa --- /dev/null +++ b/tests/mlia/test_core_context.py @@ -0,0 +1,62 @@ +# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 +"""Tests for the module context.""" +from pathlib import Path + +from mlia.core.common import AdviceCategory +from mlia.core.context import ExecutionContext +from mlia.core.events import DefaultEventPublisher + + +def test_execution_context(tmpdir: str) -> None: + """Test execution context.""" + publisher = DefaultEventPublisher() + category = AdviceCategory.OPERATORS + + context = ExecutionContext( + advice_category=category, + config_parameters={"param": "value"}, + working_dir=tmpdir, + event_handlers=[], + event_publisher=publisher, + verbose=True, + logs_dir="logs_directory", + models_dir="models_directory", + ) + + assert context.advice_category == category + assert context.config_parameters == {"param": "value"} + assert context.event_handlers == [] + assert context.event_publisher == publisher + assert context.logs_path == Path(tmpdir) / "logs_directory" + expected_model_path = Path(tmpdir) / "models_directory/sample.model" + assert context.get_model_path("sample.model") == expected_model_path + assert context.verbose is True + assert str(context) == ( + f"ExecutionContext: " + f"working_dir={tmpdir}, " + "advice_category=OPERATORS, " + "config_parameters={'param': 'value'}, " + "verbose=True" + ) + + context_with_default_params = ExecutionContext(working_dir=tmpdir) + assert context_with_default_params.advice_category is None + assert context_with_default_params.config_parameters is None + assert context_with_default_params.event_handlers is None + assert isinstance( + context_with_default_params.event_publisher, DefaultEventPublisher + ) + assert context_with_default_params.logs_path == Path(tmpdir) / "logs" + + default_model_path = context_with_default_params.get_model_path("sample.model") + expected_default_model_path = Path(tmpdir) / "models/sample.model" + assert default_model_path == expected_default_model_path + + expected_str = ( + f"ExecutionContext: working_dir={tmpdir}, " + "advice_category=, " + "config_parameters=None, " + "verbose=False" + ) + assert str(context_with_default_params) == expected_str -- cgit v1.2.1