brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 28eba4f Raw
47 lines · python
1"""2Make sure 'frame var' using DIL parser/evaluator works for indirection.3"""4 5import lldb6from lldbsuite.test.lldbtest import *7from lldbsuite.test.decorators import *8from lldbsuite.test import lldbutil9 10import os11import shutil12import time13 14 15class TestFrameVarDILIndirection(TestBase):16    # If your test case doesn't stress debug info, then17    # set this to true.  That way it won't be run once for18    # each debug info format.19    NO_DEBUG_INFO_TESTCASE = True20 21    def test_frame_var(self):22        self.build()23        lldbutil.run_to_source_breakpoint(24            self, "Set a breakpoint here", lldb.SBFileSpec("main.cpp")25        )26 27        self.runCmd("settings set target.experimental.use-DIL true")28        self.expect_var_path("*p", value="1")29        self.expect_var_path("p", type="int *")30        self.expect_var_path("*my_p", value="1")31        self.expect_var_path("my_p", type="myp")32        self.expect_var_path("*my_pr", type="int *")33        self.expect_var_path("my_pr", type="mypr")34 35        self.expect(36            "frame variable '*1'",37            error=True,38            substrs=["dereference failed: not a pointer, reference or array type"],39        )40        self.expect(41            "frame variable '*val'",42            error=True,43            substrs=[44                "dereference failed: not a pointer, reference or array type: (int) val"45            ],46        )47