From dd52963577c188d6f46b5f0bcc2d13bd99a8129c Mon Sep 17 00:00:00 2001
From: pompolic <pompolic@special-circumstanc.es>
Date: Mon, 25 Apr 2022 22:40:01 +0200
Subject: [PATCH] More tests

---
 gdb-port/tests/unit/breakpoint-manager.py | 24 +++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gdb-port/tests/unit/breakpoint-manager.py b/gdb-port/tests/unit/breakpoint-manager.py
index 569a6d7..f7fb3da 100644
--- a/gdb-port/tests/unit/breakpoint-manager.py
+++ b/gdb-port/tests/unit/breakpoint-manager.py
@@ -41,12 +41,25 @@ class BreakpointManagerSettingBreakpoints(unittest.TestCase):
 		self.ipbp_patcher = unittest.mock.patch('__main__.InitParserBreakpoint')
 		self.ipbp_mock_object = self.ipbp_patcher.start()
 
+		self.hdpbp_patcher = unittest.mock.patch('__main__.HDoParseBreakpoint')
+		self.hdpbp_mock_object = self.hdpbp_patcher.start()
+		self.hppbp_patcher = unittest.mock.patch('__main__.HPackratParseBreakpoint')
+		self.hppbp_mock_object = self.hppbp_patcher.start()
+		self.pllpbp_patcher = unittest.mock.patch('__main__.PerformLowLevelParseBreakpoint')
+		self.pllpbp_mock_object = self.pllpbp_patcher.start()
+		self.hamrbp_patcher = unittest.mock.patch('__main__.HArenaMallocRawBreakpoint')
+		self.hamrbp_mock_object = self.hamrbp_patcher.start()
+
 	def tearDown(self):
 		self.hpprbp_patcher.stop()
 		self.plprbp_patcher.stop()
 		self.hrbp_patcher.stop()
 		self.pvbp_patcher.stop()
 		self.ipbp_patcher.stop()
+		self.hdpbp_patcher.stop()
+		self.hppbp_patcher.stop()
+		self.pllpbp_patcher.stop()
+		self.hamrbp_patcher.stop()
 
 # TODO: mock breakpoints, assert on arguments to constructor
 	def test_set_h_rule_breakpoints(self):
@@ -125,6 +138,17 @@ class BreakpointManagerSettingBreakpoints(unittest.TestCase):
 		instr = self.arch.disassemble(bp_addr, bp_addr+8, 1)[0]
 		self.assertTrue(instr['asm'].startswith('ret'))
 
+	def test_del_init_parser_breakpoints(self):
+		self.bpm.set_init_parser_breakpoint()
+		self.bpm.del_init_parser_breakpoint()
+		self.assertTrue(self.bpm.init_parser_retq.mock_calls == [unittest.mock.call.delete()])
+
+	def test_set_hammer_breakpoints(self):
+		self.bpm.set_hammer_breakpoints()
+		bps = [self.hdpbp_mock_object, self.hppbp_mock_object, self.pllpbp_mock_object, self.hamrbp_mock_object]
+		for i in range(0, len(bps)):
+			with self.subTest(i=i):
+				self.assertTrue(bps[i].called)
 	# TODO
 	#def tearDown(self):
 		#self.bpm.delete
-- 
GitLab