| """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"]) |