copapy/tests/test_stencil_db.py

26 lines
873 B
Python
Raw Normal View History

2025-09-20 21:25:07 +00:00
from copapy import stencil_database
2025-09-30 21:11:14 +00:00
from copapy import stencil_db
2025-09-20 21:25:07 +00:00
2025-09-30 21:11:14 +00:00
def test_list_symbols():
2025-09-20 21:25:07 +00:00
sdb = stencil_database('src/copapy/obj/stencils_x86_64_O3.o')
print('----')
#print(sdb.function_definitions)
for sym_name in sdb.function_definitions.keys():
2025-09-21 21:08:30 +00:00
print('\n-', sym_name)
2025-09-30 21:11:14 +00:00
print(list(sdb.get_patch_positions(sym_name)))
def test_start_end_function():
sdb = stencil_database('src/copapy/obj/stencils_x86_64_O3.o')
for sym_name in sdb.function_definitions.keys():
data = sdb.elf.symbols[sym_name].data
print('-', sym_name, stencil_db.get_stencil_position(data, sdb.elf.byteorder), len(data))
start, end = stencil_db.get_stencil_position(data, sdb.elf.byteorder)
assert start>= 0 and end >= start and end <= len(data)
if __name__ == "__main__":
test_list_symbols()
test_start_end_function()