xref: /llvm-project/lldb/test/API/macosx/load-kext/TestLoadKext.py (revision 2238dcc39358353cac21df75c3c3286ab20b8f53)
1*99451b44SJordan Rupprecht"""
2*99451b44SJordan RupprechtTest loading of a kext binary.
3*99451b44SJordan Rupprecht"""
4*99451b44SJordan Rupprecht
5*99451b44SJordan Rupprecht
6*99451b44SJordan Rupprechtimport lldb
7*99451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
8*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
9*99451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil
10*99451b44SJordan Rupprecht
11*99451b44SJordan Rupprecht
12*99451b44SJordan Rupprechtclass LoadKextTestCase(TestBase):
13*99451b44SJordan Rupprecht    NO_DEBUG_INFO_TESTCASE = True
14*99451b44SJordan Rupprecht
15*99451b44SJordan Rupprecht    def test_load_kext(self):
16*99451b44SJordan Rupprecht        """Test that lldb can load a kext binary."""
17*99451b44SJordan Rupprecht
18*99451b44SJordan Rupprecht        # Create kext from YAML.
19*99451b44SJordan Rupprecht        self.yaml2obj("mykext.yaml", self.getBuildArtifact("mykext"))
20*99451b44SJordan Rupprecht
21*99451b44SJordan Rupprecht        target = self.dbg.CreateTarget(self.getBuildArtifact("mykext"))
22*99451b44SJordan Rupprecht
23*99451b44SJordan Rupprecht        self.assertTrue(target.IsValid())
24*99451b44SJordan Rupprecht
25*99451b44SJordan Rupprecht        self.assertEqual(target.GetNumModules(), 1)
26*99451b44SJordan Rupprecht        mod = target.GetModuleAtIndex(0)
27*99451b44SJordan Rupprecht        self.assertEqual(mod.GetFileSpec().GetFilename(), "mykext")
28