1"""
2Test loading of a kext binary.
3"""
4
5
6
7import lldb
8from lldbsuite.test.decorators import *
9from lldbsuite.test.lldbtest import *
10from lldbsuite.test import lldbutil
11
12
13class LoadKextTestCase(TestBase):
14    NO_DEBUG_INFO_TESTCASE = True
15
16    mydir = TestBase.compute_mydir(__file__)
17
18    def test_load_kext(self):
19        """Test that lldb can load a kext binary."""
20
21        # Create kext from YAML.
22        self.yaml2obj("mykext.yaml", self.getBuildArtifact("mykext"))
23
24        target = self.dbg.CreateTarget(self.getBuildArtifact("mykext"))
25
26        self.assertTrue(target.IsValid())
27
28        self.assertEqual(target.GetNumModules(), 1)
29        mod = target.GetModuleAtIndex(0)
30        self.assertEqual(mod.GetFileSpec().GetFilename(), "mykext")
31