These functions return the information about the host process (so they show the executable as "qemu" and have the "wrong" architecture), which isn't useful and can confuse lldb. We could theoretically try to identify which host processes are running an emulator, and translate the process information, but that would be tricky to implement, and the usefulness of it would be fairly limited as qemu does not support attaching to a running process.
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
import lldb
|
|
import os
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test.decorators import *
|
|
|
|
|
|
@skipIfRemote
|
|
class TestQemuAPI(TestBase):
|
|
NO_DEBUG_INFO_TESTCASE = True
|
|
|
|
def test_file_api(self):
|
|
qemu = lldb.SBPlatform("qemu-user")
|
|
host = lldb.SBPlatform.GetHostPlatform()
|
|
|
|
target = self.getBuildArtifact("target.c")
|
|
main_c = lldb.SBFileSpec(self.getSourcePath("main.c"))
|
|
|
|
self.assertSuccess(qemu.Put(main_c, lldb.SBFileSpec(target)))
|
|
self.assertTrue(os.path.exists(target))
|
|
self.assertEqual(qemu.GetFilePermissions(target),
|
|
host.GetFilePermissions(target))
|
|
|
|
self.assertSuccess(qemu.MakeDirectory(
|
|
self.getBuildArtifact("target_dir")))
|
|
self.assertTrue(os.path.isdir(self.getBuildArtifact("target_dir")))
|
|
|
|
def test_process_api(self):
|
|
self.dbg.SetCurrentPlatform("qemu-user")
|
|
self.expect("platform process list",
|
|
substrs=['no processes were found on the "qemu-user" platform'],
|
|
error=True)
|