qemu.machine.qtest module¶
QEMU qtest library
qtest offers the QEMUQtestProtocol and QEMUQTestMachine classes, which offer a connection to QEMU’s qtest protocol socket, and a qtest-enabled subclass of QEMUMachine, respectively.
- class qemu.machine.qtest.QEMUQtestMachine(binary: str, args: Sequence[str] = (), wrapper: Sequence[str] = (), name: Optional[str] = None, base_temp_dir: str = '/var/tmp', socket_scm_helper: Optional[str] = None, sock_dir: Optional[str] = None, qmp_timer: Optional[float] = None)[source]¶
Bases:
qemu.machine.machine.QEMUMachine
A QEMU VM, with a qtest socket available.
- class qemu.machine.qtest.QEMUQtestProtocol(address: Union[Tuple[str, int], str], server: bool = False)[source]¶
Bases:
object
QEMUQtestProtocol implements a connection to a qtest socket.
- Parameters
address – QEMU address, can be either a unix socket path (string) or a tuple in the form ( address, port ) for a TCP connection
server – server mode, listens on the socket (bool)
- Raises
socket.error – on socket connection errors
Note
No conection is estabalished by __init__(), this is done by the connect() or accept() methods.
- accept() → None[source]¶
Await connection from QEMU.
@raise socket.error on socket connection errors
- cmd(qtest_cmd: str) → str[source]¶
Send a qtest command on the wire.
@param qtest_cmd: qtest command text to be sent