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.
parse_test.py
00001 import sys 00002 from io import open 00003 from os.path import isfile, join, dirname 00004 import json 00005 00006 import pytest 00007 00008 from tools.memap import MemapParser 00009 from copy import deepcopy 00010 00011 00012 PARSED_ARM_DATA = { 00013 "startup/startup.o": {".text": 0xc0}, 00014 "[lib]/c_p.l/__main.o": {".text": 8}, 00015 "irqs/irqs.o": {".text": 0x98}, 00016 "data/data.o": {".data": 0x18, ".bss": 0x198}, 00017 "main.o": {".text": 0x36}, 00018 } 00019 00020 def test_parse_armcc(): 00021 memap = MemapParser() 00022 memap.parse_map_file_armcc(open(join(dirname(__file__), "arm.map"))) 00023 assert memap.modules == PARSED_ARM_DATA 00024 00025 PARSED_IAR_GCC_DATA = { 00026 "startup/startup.o": {".text": 0xc0}, 00027 "[lib]/d16M_tlf.a/__main.o": {".text": 8}, 00028 "irqs/irqs.o": {".text": 0x98}, 00029 "data/data.o": {".data": 0x18, ".bss": 0x198}, 00030 "main.o": {".text": 0x36}, 00031 } 00032 00033 def test_parse_iar(): 00034 memap = MemapParser() 00035 memap.parse_map_file_iar(open(join(dirname(__file__), "iar.map"))) 00036 assert memap.modules == PARSED_IAR_GCC_DATA 00037 00038 def test_parse_gcc(): 00039 memap = MemapParser() 00040 memap.parse_map_file_gcc(open(join(dirname(__file__), "gcc.map"))) 00041 assert memap.modules == PARSED_IAR_GCC_DATA 00042 00043 00044 def test_add_empty_module(): 00045 memap = MemapParser() 00046 old_modules = deepcopy(memap.modules) 00047 memap.module_add("", 8, ".data") 00048 assert(old_modules == memap.modules) 00049 memap.module_add("main.o", 0, ".text") 00050 assert(old_modules == memap.modules) 00051 memap.module_add("main.o", 8, "") 00052 assert(old_modules == memap.modules) 00053 00054 def test_add_full_module(): 00055 memap = MemapParser() 00056 old_modules = deepcopy(memap.modules) 00057 memap.module_add("main.o", 8, ".data") 00058 assert(old_modules != memap.modules) 00059 assert("main.o" in memap.modules) 00060 assert(".data" in memap.modules["main.o"]) 00061 assert(memap.modules["main.o"][".data"] == 8)
Generated on Thu Jul 14 2022 14:36:21 by
