Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
arm_support_test.py
00001 """Tests for the arm toolchain supported checks""" 00002 import sys 00003 import os 00004 from string import printable 00005 from copy import deepcopy 00006 from mock import MagicMock, patch 00007 from hypothesis import given, settings 00008 from hypothesis.strategies import text, lists, sampled_from 00009 00010 ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", 00011 "..")) 00012 sys.path.insert(0, ROOT) 00013 00014 from tools.toolchains.arm import ARM_STD, ARM_MICRO, ARMC6 00015 from tools.utils import NotSupportedException 00016 00017 ARMC5_CORES = ["Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4", 00018 "Cortex-M4F", "Cortex-M7", "Cortex-M7F", "Cortex-M7FD"] 00019 ARMC6_CORES = ARMC5_CORES + ["Cortex-M23", "Cortex-M23-NS", 00020 "Cortex-M33", "CortexM33-NS"] 00021 00022 CORE_SUF_ALPHA = ["MDFNS02347-+"] 00023 00024 @given(lists(sampled_from(["ARM", "uARM", "GCC_ARM", "ARMC6", "IAR", "GARBAGE"])), 00025 text(alphabet=CORE_SUF_ALPHA)) 00026 def test_arm_std(supported_toolchains, core): 00027 mock_target = MagicMock() 00028 mock_target.core = "Cortex-" + core 00029 mock_target.supported_toolchains = supported_toolchains 00030 try: 00031 ARM_STD(mock_target) 00032 assert "ARM" in supported_toolchains 00033 assert mock_target.core in ARMC5_CORES 00034 except NotSupportedException: 00035 assert "ARM" not in supported_toolchains or mock_target.core not in ARMC5_CORES 00036 00037 00038 @given(lists(sampled_from(["ARM", "uARM", "GCC_ARM", "ARMC6", "IAR", "GARBAGE"])), 00039 text(alphabet=CORE_SUF_ALPHA)) 00040 def test_arm_micro(supported_toolchains, core): 00041 mock_target = MagicMock() 00042 mock_target.core = "Cortex-" + core 00043 mock_target.supported_toolchains = supported_toolchains 00044 try: 00045 ARM_MICRO(mock_target) 00046 assert "ARM" in supported_toolchains or "uARM" in supported_toolchains 00047 assert mock_target.core in ARMC5_CORES 00048 except NotSupportedException: 00049 assert ("ARM" not in supported_toolchains and "uARM" not in supported_toolchains)\ 00050 or mock_target.core not in ARMC5_CORES 00051 00052 00053 @given(lists(sampled_from(["ARM", "uARM", "GCC_ARM", "ARMC6", "IAR", "GARBAGE"])), 00054 text(alphabet=CORE_SUF_ALPHA)) 00055 def test_armc6(supported_toolchains, core): 00056 mock_target = MagicMock() 00057 mock_target.core = "Cortex-" + core 00058 mock_target.supported_toolchains = supported_toolchains 00059 try: 00060 ARMC6(mock_target) 00061 assert "ARM" in supported_toolchains or "ARMC6" in supported_toolchains 00062 assert mock_target.core in ARMC6_CORES 00063 except NotSupportedException: 00064 assert ("ARM" not in supported_toolchains and "ARMC6" not in supported_toolchains)\ 00065 or mock_target.core not in ARMC6_CORES
Generated on Tue Jul 12 2022 13:29:19 by
