1*99451b44SJordan Rupprecht"""Test that inline functions from modules are imported correctly""" 2*99451b44SJordan Rupprecht 3*99451b44SJordan Rupprecht 4*99451b44SJordan Rupprecht 5*99451b44SJordan Rupprecht 6*99451b44SJordan Rupprechtimport unittest2 7*99451b44SJordan Rupprecht 8*99451b44SJordan Rupprechtimport lldb 9*99451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 10*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 11*99451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 12*99451b44SJordan Rupprecht 13*99451b44SJordan Rupprecht 14*99451b44SJordan Rupprechtclass ModulesInlineFunctionsTestCase(TestBase): 15*99451b44SJordan Rupprecht 16*99451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"], debug_info=no_match(["gmodules"])) 17*99451b44SJordan Rupprecht def test_expr(self): 18*99451b44SJordan Rupprecht self.build() 19*99451b44SJordan Rupprecht exe = self.getBuildArtifact("a.out") 20*99451b44SJordan Rupprecht self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) 21*99451b44SJordan Rupprecht 22*99451b44SJordan Rupprecht # Break inside the foo function which takes a bar_ptr argument. 23*99451b44SJordan Rupprecht lldbutil.run_to_source_breakpoint( 24*99451b44SJordan Rupprecht self, '// Set breakpoint here.', lldb.SBFileSpec('main.m')) 25*99451b44SJordan Rupprecht 26*99451b44SJordan Rupprecht self.runCmd( 27*99451b44SJordan Rupprecht "settings set target.clang-module-search-paths \"" + 28*99451b44SJordan Rupprecht self.getSourceDir() + 29*99451b44SJordan Rupprecht "\"") 30*99451b44SJordan Rupprecht 31*99451b44SJordan Rupprecht self.expect("expr @import myModule; 3", VARIABLES_DISPLAYED_CORRECTLY, 32*99451b44SJordan Rupprecht substrs=["int", "3"]) 33*99451b44SJordan Rupprecht 34*99451b44SJordan Rupprecht self.expect("expr isInline(2)", VARIABLES_DISPLAYED_CORRECTLY, 35*99451b44SJordan Rupprecht substrs=["4"]) 36