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 6d808ce2e77237c8cb8c297ca9de96884c4c0e0b..38c5b55eb8d527f59bd808930327d0978132621f 100644 --- a/gdb-port/tests/integration/test_stack_frame_parser_context.py +++ b/gdb-port/tests/integration/test_stack_frame_parser_context.py @@ -4,6 +4,9 @@ class TestParserContextInNewStackFrames(unittest.TestCase): def setUp(self): self.a = Parser("a", 128) 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.top_level_parse = TopLevelParse() self.top_level_parse.parser_objs[32] = self.b self.top_level_parse.parser_objs[128] = self.a @@ -13,7 +16,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, 256, self.a.address) + self.top_level_parse.enter_h_do_parse(400, self.arena, self.a.address) self.top_level_parse.parse_virtual(self.a.address) self.top_level_parse.enter_perform_lowlevel_parse(self.a.address) @@ -24,16 +27,16 @@ class TestParserContextInNewStackFrames(unittest.TestCase): pass def test_after_h_do_parse(self): - self.top_level_parse.enter_h_do_parse(400, 256, self.b.address) + self.top_level_parse.enter_h_do_parse(400, self.arena, 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, 256, self.b.address) + self.top_level_parse.enter_h_do_parse(400, self.arena, 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, 256, self.b.address) + self.top_level_parse.enter_h_do_parse(400, self.arena, 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)