blob: e2e335a1c433417b5326e9c163d54ecad812a018 [file] [log] [blame]
"""Test that inline functions from modules are imported correctly"""
import unittest2
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class ModulesInlineFunctionsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@skipIf(macos_version=["<", "10.12"], debug_info=no_match(["gmodules"]))
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"])