Skip to content
Snippets Groups Projects
Commit ff3e8c66 authored by pompolic's avatar pompolic
Browse files

(WIP) Add unit test for BreakpointManager

parent 77e7ddfe
Branches
Tags
No related merge requests found
import unittest
class BreakpointManagerCreated(unittest.TestCase):
def setUp(self):
test_breakpoints = [ ("init_runlengthdecode_parser", 314), ("init_LZW_parser", 1221) ]
self.bpm = BreakpointManager(test_breakpoints)
self.arch = gdb.selected_frame().architecture()
def test_locate_retqs(self):
retqs = self.bpm.locate_retqs("init_runlengthdecode_parser", 314)
addr = retqs[0]
instr = self.arch.disassemble(addr, addr+8, 1)[0]
self.assertTrue(instr['asm'].startswith("ret"))
def test_locate_retq(self):
retq = self.bpm.locate_retq("init_runlengthdecode_parser", 314)
instr = self.arch.disassemble(retq, retq+8, 1)[0]
self.assertTrue(instr['asm'].startswith("ret"))
def test_set_h_rule_breakpoints(self):
self.bpm.set_h_rule_breakpoints()
bps_valid = [ bp.is_valid() for bp in self.bpm.h_rule_breakpoints]
# Assert that we have as many breakpoints as h_rule_function and is_valid() returns true for all of them
self.assertEqual(bps_valid, len(self.bpm.H_RULE_FUNCTIONS) * [True])
# Cleanup
for bp in self.bpm.h_rule_breakpoints:
bp.delete()
# TODO
#def tearDown(self):
#self.bpm.delete
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment