diff --git a/gdb-port/tests/integration/test_stack_frame_parser_context.py b/gdb-port/tests/integration/test_stack_frame_parser_context.py index 38c5b55eb8d527f59bd808930327d0978132621f..e41f6dbe3c5fa2f43e2f150637fdfd26f882e858 100644 --- a/gdb-port/tests/integration/test_stack_frame_parser_context.py +++ b/gdb-port/tests/integration/test_stack_frame_parser_context.py @@ -6,7 +6,8 @@ class TestParserContextInNewStackFrames(unittest.TestCase): self.b = Parser("b", 32) # TODO: could self.harena_t and self.arena be initialized in setUpClass? self.harena_t = gdb.lookup_type("HArena") - self.arena = gdb.Value(bytearray(self.harena_t.sizeof), self.harena_t) # Initialize a new HArena to all zeros + #self.arena = gdb.Value(bytearray(self.harena_t.sizeof), self.harena_t) # Initialize a new HArena to all zeros + self.arena = gdb.parse_and_eval("malloc(sizeof(HArena))").cast(self.harena_t.pointer()).dereference() # Quick and dirty way to allocate something in the process GDB is debugging (the inferior) self.top_level_parse = TopLevelParse() self.top_level_parse.parser_objs[32] = self.b self.top_level_parse.parser_objs[128] = self.a @@ -16,7 +17,7 @@ class TestParserContextInNewStackFrames(unittest.TestCase): # TODO: When using DETAILED_ARENA_STATS, arena needs to be an actual HArena object, not just "256" #TODO: are we initializing from scratch for every test? - self.top_level_parse.enter_h_do_parse(400, self.arena, self.a.address) + self.top_level_parse.enter_h_do_parse(400, self.arena.address, self.a.address) self.top_level_parse.parse_virtual(self.a.address) self.top_level_parse.enter_perform_lowlevel_parse(self.a.address) @@ -27,16 +28,16 @@ class TestParserContextInNewStackFrames(unittest.TestCase): pass def test_after_h_do_parse(self): - self.top_level_parse.enter_h_do_parse(400, self.arena, self.b.address) + self.top_level_parse.enter_h_do_parse(400, self.arena.address, self.b.address) self.assertIs(self.top_level_parse.peek_parser(), self.b) def test_after_enter_parse_virtual(self): - self.top_level_parse.enter_h_do_parse(400, self.arena, self.b.address) + self.top_level_parse.enter_h_do_parse(400, self.arena.address, self.b.address) self.top_level_parse.parse_virtual(self.b.address) self.assertIs(self.top_level_parse.peek_parser(), self.b) def test_after_enter_perform_lowlevel_parse(self): - self.top_level_parse.enter_h_do_parse(400, self.arena, self.b.address) + self.top_level_parse.enter_h_do_parse(400, self.arena.address, self.b.address) self.top_level_parse.parse_virtual(self.b.address) self.top_level_parse.enter_perform_lowlevel_parse(self.b.address) self.assertIs(self.top_level_parse.peek_parser(), self.b)