From c8526d4ccae71b79ad18a06f319865518a967e13 Mon Sep 17 00:00:00 2001
From: pompolic <pompolic@special-circumstanc.es>
Date: Thu, 30 Jun 2022 22:18:07 +0200
Subject: [PATCH] More tweaks to mocking

---
 gdb-port/tests/unit/ast.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/gdb-port/tests/unit/ast.py b/gdb-port/tests/unit/ast.py
index 2a5f43e..8820f56 100644
--- a/gdb-port/tests/unit/ast.py
+++ b/gdb-port/tests/unit/ast.py
@@ -28,17 +28,21 @@ class HParseResultCreation(unittest.TestCase):
 		gdbv_patcher = unittest.mock.patch('gdb.Value', autospec=True)
 		hpt_patcher = unittest.mock.patch('__main__.HParsedToken', autospec=True)
 		hpr_patcher = unittest.mock.patch.object(HParseResult, 'read_AST_not_null', return_value=True)
-		gdbv_patcher.start()
-		hpt_patcher.start()
+		#hpr_read_member_patcher = unittest.mock.patch.object(HParseResult, 'read_member', return_value=unittest.mock.DEFAULT) # TODO: return mock GDB value with 'ast' offset applied
+		gdbv_mock_object = gdbv_patcher.start()
+		hpt_mock_object = hpt_patcher.start()
 		hpr_patcher.start()
 		hpr = HParseResult(0xdeadbeef)
 		tok = hpr.make_HParsedToken()
-		print(HParsedToken.call_args)
+		
+		print(gdbv_mock_object.call_args)
+		print(hpt_mock_object.call_args)
 		hpr_patcher.stop()
 		hpt_patcher.stop()
 		gdbv_patcher.stop()
 		#TODO: what are the invariants we need to test here?
-		# e.g.: tok.address = hpr.ast.value
+		# e.g.: tok.address == hpt.ast.value
+		# mocking out gdb.Value makes it difficult to check the arguments passed to HParsedToken()
 
 	def test_make_HParsedToken_if_no_ast(self):
 		gdbv_patcher = unittest.mock.patch('gdb.Value', autospec=True)
-- 
GitLab