xref: /llvm-project/lldb/test/API/qemu/TestQemuAPI.py (revision 2238dcc39358353cac21df75c3c3286ab20b8f53)
1import lldb
2import os
3from lldbsuite.test.lldbtest import *
4from lldbsuite.test.decorators import *
5
6
7@skipIfRemote
8class TestQemuAPI(TestBase):
9    NO_DEBUG_INFO_TESTCASE = True
10
11    def test_file_api(self):
12        qemu = lldb.SBPlatform("qemu-user")
13        host = lldb.SBPlatform.GetHostPlatform()
14
15        target = self.getBuildArtifact("target.c")
16        main_c = lldb.SBFileSpec(self.getSourcePath("main.c"))
17
18        self.assertSuccess(qemu.Put(main_c, lldb.SBFileSpec(target)))
19        self.assertTrue(os.path.exists(target))
20        self.assertEqual(
21            qemu.GetFilePermissions(target), host.GetFilePermissions(target)
22        )
23
24        self.assertSuccess(qemu.MakeDirectory(self.getBuildArtifact("target_dir")))
25        self.assertTrue(os.path.isdir(self.getBuildArtifact("target_dir")))
26
27    def test_process_api(self):
28        self.dbg.SetCurrentPlatform("qemu-user")
29        self.expect(
30            "platform process list",
31            substrs=['no processes were found on the "qemu-user" platform'],
32            error=True,
33        )
34