summaryrefslogtreecommitdiffstats
path: root/scripts/qmp/qmp-shell
diff options
context:
space:
mode:
authorJohn Snow2021-06-07 22:06:29 +0200
committerJohn Snow2021-06-18 22:10:07 +0200
commitad4eebee00a52a6f0e9761ffd0fd0002c259bc21 (patch)
treecd295c24d10f3af1dc35a5fd25d9c0df0bbe8d4b /scripts/qmp/qmp-shell
parentscripts/qmp-shell: remove prompt argument from read_exec_command (diff)
downloadqemu-ad4eebee00a52a6f0e9761ffd0fd0002c259bc21.tar.gz
qemu-ad4eebee00a52a6f0e9761ffd0fd0002c259bc21.tar.xz
qemu-ad4eebee00a52a6f0e9761ffd0fd0002c259bc21.zip
scripts/qmp-shell: move the REPL functionality into QMPShell
Instead of doing this in main, move it into the class itself. (This makes it easier to put into the qemu.qmp package later by removing as much as we can from the main() function.) Signed-off-by: John Snow <jsnow@redhat.com> Message-id: 20210607200649.1840382-23-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'scripts/qmp/qmp-shell')
-rwxr-xr-xscripts/qmp/qmp-shell10
1 files changed, 7 insertions, 3 deletions
diff --git a/scripts/qmp/qmp-shell b/scripts/qmp/qmp-shell
index 31269859c4..aa148517a8 100755
--- a/scripts/qmp/qmp-shell
+++ b/scripts/qmp/qmp-shell
@@ -318,6 +318,12 @@ class QMPShell(qmp.QEMUMonitorProtocol):
return self._execute_cmd(cmdline)
+ def repl(self):
+ self.show_banner()
+ while self.read_exec_command():
+ yield
+ self.close()
+
class HMPShell(QMPShell):
def __init__(self, address, pretty=False, verbose=False):
@@ -435,10 +441,8 @@ def main():
except OSError as err:
die(f"Couldn't connect to {args.qmp_server}: {err!s}")
- qemu.show_banner()
- while qemu.read_exec_command():
+ for _ in qemu.repl():
pass
- qemu.close()
if __name__ == '__main__':