From eb49274a27443f0d81cf96acfa9f10c566392354 Mon Sep 17 00:00:00 2001 From: Cruz Monrreal II Date: Thu, 31 May 2018 16:28:43 -0500 Subject: [PATCH 1/4] Removed test that needs to be rearchitected due to subprocess limitations --- tools/test/test_api/test_api_test.py | 36 ---------------------------- 1 file changed, 36 deletions(-) diff --git a/tools/test/test_api/test_api_test.py b/tools/test/test_api/test_api_test.py index 3a5a61fe32..255081cfe4 100644 --- a/tools/test/test_api/test_api_test.py +++ b/tools/test/test_api/test_api_test.py @@ -59,39 +59,3 @@ def test_find_tests_app_config(base_dir, target, toolchain_name, app_config): "prepare_toolchain was not called with app_config" assert args[1]['app_config'] == app_config,\ "prepare_toolchain was called with an incorrect app_config" - - -@pytest.mark.parametrize("build_path", ["build_path"]) -@pytest.mark.parametrize("target", ["K64F"]) -@pytest.mark.parametrize("toolchain_name", ["ARM"]) -@pytest.mark.parametrize("app_config", ["app_config", None]) -def test_find_tests_app_config(build_path, target, toolchain_name, app_config): - """ - Test find_tests for correct use of app_config - - :param base_dir: dummy value for the test base directory - :param target: the target to "test" for - :param toolchain_name: the toolchain to use for "testing" - :param app_config: Application configuration parameter to find tests - """ - tests = {'test1': 'test1_path','test2': 'test2_path'} - src_paths = ['.'] - set_targets_json_location() - with patch('tools.test_api.scan_resources') as mock_scan_resources,\ - patch('tools.test_api.build_project') as mock_build_project,\ - patch('tools.test_api.get_config') as mock_get_config: - mock_build_project.return_value = "build_project" - mock_scan_resources().inc_dirs.return_value = [] - mock_get_config.return_value = ({}, "", "") - - build_tests(tests, src_paths, build_path, target, toolchain_name, - app_config=app_config) - - arg_list = mock_build_project.call_args_list - for args in arg_list: - assert 'app_config' in args[1],\ - "build_tests was not called with app_config" - assert args[1]['app_config'] == app_config,\ - "build_tests was called with an incorrect app_config" - mock_get_config.called_with(src_paths, target, - toolchain_name, app_conifg=app_config) From 5cfcf86872e79f5dc19e69afe14b3dd05ca10f83 Mon Sep 17 00:00:00 2001 From: Cruz Monrreal II Date: Thu, 31 May 2018 16:31:17 -0500 Subject: [PATCH 2/4] Modified memap tests to perform file path comparisons agnostic of the path separator. --- tools/test/memap/parse_test.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/tools/test/memap/parse_test.py b/tools/test/memap/parse_test.py index 210a6fa9e2..776ccfec5e 100644 --- a/tools/test/memap/parse_test.py +++ b/tools/test/memap/parse_test.py @@ -1,5 +1,6 @@ import sys from io import open +from os import sep from os.path import isfile, join, dirname import json @@ -20,9 +21,12 @@ PARSED_ARM_DATA = { def test_parse_armcc(): memap = MemapParser() memap.parse(join(dirname(__file__), "arm.map"), "ARM") - assert memap.modules == PARSED_ARM_DATA - memap.parse(join(dirname(__file__), "arm.map"), "UARM") - assert memap.modules == PARSED_ARM_DATA + + PARSED_DATA_OS_AGNOSTIC = dict() + for k in PARSED_ARM_DATA: + PARSED_DATA_OS_AGNOSTIC[k.replace('/', sep)] = PARSED_ARM_DATA[k] + + assert memap.modules == PARSED_DATA_OS_AGNOSTIC PARSED_IAR_DATA = { "startup/startup.o": {".text": 0xc0}, @@ -35,7 +39,12 @@ PARSED_IAR_DATA = { def test_parse_iar(): memap = MemapParser() memap.parse(join(dirname(__file__), "iar.map"), "IAR") - assert memap.modules == PARSED_IAR_DATA + + PARSED_DATA_OS_AGNOSTIC = dict() + for k in PARSED_IAR_DATA: + PARSED_DATA_OS_AGNOSTIC[k.replace('/', sep)] = PARSED_IAR_DATA[k] + + assert memap.modules == PARSED_DATA_OS_AGNOSTIC PARSED_GCC_DATA = { "startup/startup.o": {".text": 0xc0}, @@ -49,9 +58,14 @@ PARSED_GCC_DATA = { def test_parse_gcc(): memap = MemapParser() memap.parse(join(dirname(__file__), "gcc.map"), "GCC_ARM") - assert memap.modules == PARSED_GCC_DATA + + PARSED_DATA_OS_AGNOSTIC = dict() + for k in PARSED_GCC_DATA: + PARSED_DATA_OS_AGNOSTIC[k.replace('/', sep)] = PARSED_GCC_DATA[k] + + assert memap.modules == PARSED_DATA_OS_AGNOSTIC memap.parse(join(dirname(__file__), "gcc.map"), "GCC_CR") - assert memap.modules == PARSED_GCC_DATA + assert memap.modules == PARSED_DATA_OS_AGNOSTIC def test_add_empty_module(): From d2538bfb92c14ed1dcea4d1e71c3b63c1439ecb1 Mon Sep 17 00:00:00 2001 From: Cruz Monrreal II Date: Thu, 31 May 2018 16:32:31 -0500 Subject: [PATCH 3/4] Added windows path separator to list of alphabet characters to ignore. Corrected instance of hard-coded unix path separator. --- tools/test/toolchains/api_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/test/toolchains/api_test.py b/tools/test/toolchains/api_test.py index 74199adaa4..f8ddf08e01 100644 --- a/tools/test/toolchains/api_test.py +++ b/tools/test/toolchains/api_test.py @@ -16,7 +16,7 @@ from tools.toolchains import TOOLCHAIN_CLASSES, LEGACY_TOOLCHAIN_NAMES,\ from tools.targets import TARGET_MAP from tools.notifier.mock import MockNotifier -ALPHABET = [char for char in printable if char not in [u'.', u'/']] +ALPHABET = [char for char in printable if char not in [u'.', u'/', u'\\']] @given(fixed_dictionaries({ 'common': lists(text()), @@ -175,7 +175,7 @@ def test_detect_duplicates(filenames): assert "dupe.c" in notification["message"] assert "dupe.cpp" in notification["message"] -@given(text(alphabet=ALPHABET + ["/"], min_size=1)) +@given(text(alphabet=ALPHABET + [os.sep], min_size=1)) @given(booleans()) @given(booleans()) @settings(max_examples=20) From 0e85dd821a5d448dc93269a20cbf1524ce5544ca Mon Sep 17 00:00:00 2001 From: Cruz Monrreal II Date: Thu, 31 May 2018 16:54:58 -0500 Subject: [PATCH 4/4] Updated local variable in memap/parse_test.py to be lower case. --- tools/test/memap/parse_test.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/test/memap/parse_test.py b/tools/test/memap/parse_test.py index 776ccfec5e..92877ad8e2 100644 --- a/tools/test/memap/parse_test.py +++ b/tools/test/memap/parse_test.py @@ -22,11 +22,11 @@ def test_parse_armcc(): memap = MemapParser() memap.parse(join(dirname(__file__), "arm.map"), "ARM") - PARSED_DATA_OS_AGNOSTIC = dict() + parsed_data_os_agnostic = dict() for k in PARSED_ARM_DATA: - PARSED_DATA_OS_AGNOSTIC[k.replace('/', sep)] = PARSED_ARM_DATA[k] + parsed_data_os_agnostic[k.replace('/', sep)] = PARSED_ARM_DATA[k] - assert memap.modules == PARSED_DATA_OS_AGNOSTIC + assert memap.modules == parsed_data_os_agnostic PARSED_IAR_DATA = { "startup/startup.o": {".text": 0xc0}, @@ -40,11 +40,11 @@ def test_parse_iar(): memap = MemapParser() memap.parse(join(dirname(__file__), "iar.map"), "IAR") - PARSED_DATA_OS_AGNOSTIC = dict() + parsed_data_os_agnostic = dict() for k in PARSED_IAR_DATA: - PARSED_DATA_OS_AGNOSTIC[k.replace('/', sep)] = PARSED_IAR_DATA[k] + parsed_data_os_agnostic[k.replace('/', sep)] = PARSED_IAR_DATA[k] - assert memap.modules == PARSED_DATA_OS_AGNOSTIC + assert memap.modules == parsed_data_os_agnostic PARSED_GCC_DATA = { "startup/startup.o": {".text": 0xc0}, @@ -59,13 +59,13 @@ def test_parse_gcc(): memap = MemapParser() memap.parse(join(dirname(__file__), "gcc.map"), "GCC_ARM") - PARSED_DATA_OS_AGNOSTIC = dict() + parsed_data_os_agnostic = dict() for k in PARSED_GCC_DATA: - PARSED_DATA_OS_AGNOSTIC[k.replace('/', sep)] = PARSED_GCC_DATA[k] + parsed_data_os_agnostic[k.replace('/', sep)] = PARSED_GCC_DATA[k] - assert memap.modules == PARSED_DATA_OS_AGNOSTIC + assert memap.modules == parsed_data_os_agnostic memap.parse(join(dirname(__file__), "gcc.map"), "GCC_CR") - assert memap.modules == PARSED_DATA_OS_AGNOSTIC + assert memap.modules == parsed_data_os_agnostic def test_add_empty_module():