blob: 106e33ff366369a3a8635f87f02171ef0a7fe28c [file] [log] [blame]
"""
Test situations where we don't have a definition for a type, but we have (some)
of its member functions.
"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class TestCppIncompleteTypeMembers(TestBase):
@skipIf(oslist=["darwin", "macos"], debug_info="gmodules")
def test(self):
self.build()
lldbutil.run_to_source_breakpoint(
self, "// break here", lldb.SBFileSpec("f.cpp")
)
# Sanity check that we really have to debug info for this type.
this = self.expect_var_path("this", type="A *")
self.assertEquals(
this.GetType().GetPointeeType().GetNumberOfFields(), 0, str(this)
)
self.expect_var_path("af.x", value="42")
lldbutil.run_break_set_by_source_regexp(
self, "// break here", extra_options="-f g.cpp"
)
self.runCmd("continue")
self.expect_var_path("ag.a", value="47")