diff options
author | Ruomei Yan <ruomei.yan@arm.com> | 2022-12-13 22:02:21 +0000 |
---|---|---|
committer | Ruomei Yan <ruomei.yan@arm.com> | 2023-01-16 16:31:23 +0000 |
commit | 4eb3fef8e5876c69dc6bac70fdc010805d5b97f2 (patch) | |
tree | 88beca8a30954f020b7f34c0a3f9df780b966244 /tests/test_backend_tosa_compat.py | |
parent | 5800fc990ed1e36ce7d06670f911fbb12a0ec771 (diff) | |
download | mlia-4eb3fef8e5876c69dc6bac70fdc010805d5b97f2.tar.gz |
MLIA-741/2 Report test results
- add version extraction function in compat.py
- create Metadata, MLIAMetadata, TOSAMetadata and MetadataDisplay classes
- update the reporting functions so tosa and mlia version will be displayed in output json
- update unit test test_configure_and_get_tosa_advisor to mock the get_events function
- update the copyright information of all changed/added files
- handle exception and report to json when program crashes
- write new context managers for capturing stderr and stdout
- support reporting stderr to json output
- support reporting model checksum and model name to json output
- made changes in test_e2e.py handling {model_name} replacement in --output
- add unit tests
Change-Id: I6629fd1c5754378e6accd488217c83d87c7eb6f1
Diffstat (limited to 'tests/test_backend_tosa_compat.py')
-rw-r--r-- | tests/test_backend_tosa_compat.py | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/tests/test_backend_tosa_compat.py b/tests/test_backend_tosa_compat.py index 52aaa44..5a80b4b 100644 --- a/tests/test_backend_tosa_compat.py +++ b/tests/test_backend_tosa_compat.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates. +# SPDX-FileCopyrightText: Copyright 2022-2023, Arm Limited and/or its affiliates. # SPDX-License-Identifier: Apache-2.0 """Tests for TOSA compatibility.""" from __future__ import annotations @@ -39,12 +39,13 @@ def test_compatibility_check_should_fail_if_checker_not_available( @pytest.mark.parametrize( - "is_tosa_compatible, operators, expected_result", + "is_tosa_compatible, operators, exception, expected_result", [ [ True, [], - TOSACompatibilityInfo(True, []), + None, + TOSACompatibilityInfo(True, [], None, None, None), ], [ True, @@ -55,18 +56,16 @@ def test_compatibility_check_should_fail_if_checker_not_available( is_tosa_compatible=True, ) ], - TOSACompatibilityInfo(True, [Operator("op_location", "op_name", True)]), + None, + TOSACompatibilityInfo( + True, [Operator("op_location", "op_name", True)], None, [], [] + ), ], [ False, - [ - SimpleNamespace( - location="op_location", - name="op_name", - is_tosa_compatible=False, - ) - ], - TOSACompatibilityInfo(False, [Operator("op_location", "op_name", False)]), + [], + ValueError("error_test"), + TOSACompatibilityInfo(False, [], ValueError("error_test"), [], []), ], ], ) @@ -75,6 +74,7 @@ def test_get_tosa_compatibility_info( test_tflite_model: Path, is_tosa_compatible: bool, operators: Any, + exception: Exception | None, expected_result: TOSACompatibilityInfo, ) -> None: """Test getting TOSA compatibility information.""" @@ -83,7 +83,17 @@ def test_get_tosa_compatibility_info( mock_checker._get_tosa_compatibility_for_ops.return_value = ( # pylint: disable=protected-access operators ) - + if exception: + mock_checker._get_tosa_compatibility_for_ops.side_effect = ( # pylint: disable=protected-access + exception + ) replace_get_tosa_checker_with_mock(monkeypatch, mock_checker) - assert get_tosa_compatibility_info(test_tflite_model) == expected_result + returned_compatibility_info = get_tosa_compatibility_info(test_tflite_model) + assert repr(returned_compatibility_info.exception) == repr( + expected_result.exception + ) + assert ( + returned_compatibility_info.tosa_compatible == expected_result.tosa_compatible + ) + assert returned_compatibility_info.operators == expected_result.operators |