"""Test that inline functions from modules are imported correctly"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class ModulesInlineFunctionsTestCase(TestBase):
@add_test_categories(["gmodules"])
@skipIf(macos_version=["<", "10.12"])
def test_expr(self):
self.build()
exe = self.getBuildArtifact("a.out")
self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
# Break inside the foo function which takes a bar_ptr argument.
lldbutil.run_to_source_breakpoint(
self, "// Set breakpoint here.", lldb.SBFileSpec("main.m")
)
self.runCmd(
'settings set target.clang-module-search-paths "'
+ self.getSourceDir()
+ '"'
)
self.expect(
"expr @import myModule; 3",
VARIABLES_DISPLAYED_CORRECTLY,
substrs=["int", "3"],
)
self.expect("expr isInline(2)", VARIABLES_DISPLAYED_CORRECTLY, substrs=["4"])