From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
ehabkost@redhat.com, qemu-block@nongnu.org, philmd@redhat.com,
armbru@redhat.com, Max Reitz <mreitz@redhat.com>,
John Snow <jsnow@redhat.com>
Subject: [PATCH v9 10/14] iotests: add hmp helper with logging
Date: Tue, 24 Mar 2020 19:20:59 -0400 [thread overview]
Message-ID: <20200324232103.4195-11-jsnow@redhat.com> (raw)
In-Reply-To: <20200324232103.4195-1-jsnow@redhat.com>
Just a mild cleanup while I was here.
Although we now have universal qmp logging on or off, many existing
callers to hmp functions don't expect that output to be logged, which
causes quite a few changes in the test output.
For now, just offer a use_log parameter.
Signed-off-by: John Snow <jsnow@redhat.com>
---
tests/qemu-iotests/iotests.py | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index e12d6e533e..4faee06f14 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -540,25 +540,29 @@ def add_incoming(self, addr):
self._args.append(addr)
return self
- def pause_drive(self, drive, event=None):
- '''Pause drive r/w operations'''
+ def hmp(self, command_line: str, use_log: bool = False):
+ cmd = 'human-monitor-command'
+ kwargs = {'command-line': command_line}
+ if use_log:
+ return self.qmp_log(cmd, **kwargs)
+ else:
+ return self.qmp(cmd, **kwargs)
+
+ def pause_drive(self, drive: str, event: Optional[str] = None) -> None:
+ """Pause drive r/w operations"""
if not event:
self.pause_drive(drive, "read_aio")
self.pause_drive(drive, "write_aio")
return
- self.qmp('human-monitor-command',
- command_line='qemu-io %s "break %s bp_%s"'
- % (drive, event, drive))
+ self.hmp(f'qemu-io {drive} "break {event} bp_{drive}"')
- def resume_drive(self, drive):
- self.qmp('human-monitor-command',
- command_line='qemu-io %s "remove_break bp_%s"'
- % (drive, drive))
+ def resume_drive(self, drive: str) -> None:
+ """Resume drive r/w operations"""
+ self.hmp(f'qemu-io {drive} "remove_break bp_{drive}"')
- def hmp_qemu_io(self, drive, cmd):
- '''Write to a given drive using an HMP command'''
- return self.qmp('human-monitor-command',
- command_line='qemu-io %s "%s"' % (drive, cmd))
+ def hmp_qemu_io(self, drive: str, cmd: str, use_log: bool = False) -> None:
+ """Write to a given drive using an HMP command"""
+ return self.hmp(f'qemu-io {drive} "{cmd}"', use_log=use_log)
def flatten_qmp_object(self, obj, output=None, basestr=''):
if output is None:
--
2.21.1
next prev parent reply other threads:[~2020-03-24 23:25 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-24 23:20 [PATCH v9 00/14] iotests: use python logging John Snow
2020-03-24 23:20 ` [PATCH v9 01/14] iotests: do a light delinting John Snow
2020-03-30 14:39 ` Markus Armbruster
2020-03-30 17:28 ` John Snow
2020-03-30 15:41 ` Kevin Wolf
2020-03-30 17:25 ` John Snow
2020-03-24 23:20 ` [PATCH v9 02/14] iotests: don't use 'format' for drive_add John Snow
2020-03-24 23:20 ` [PATCH v9 03/14] iotests: ignore import warnings from pylint John Snow
2020-03-24 23:20 ` [PATCH v9 04/14] iotests: replace mutable list default args John Snow
2020-03-24 23:20 ` [PATCH v9 05/14] iotests: add pylintrc file John Snow
2020-03-30 14:45 ` Markus Armbruster
2020-03-30 17:35 ` John Snow
2020-03-30 15:49 ` Kevin Wolf
2020-03-30 18:10 ` John Snow
2020-03-24 23:20 ` [PATCH v9 06/14] iotests: alphabetize standard imports John Snow
2020-03-30 12:10 ` Max Reitz
2020-03-24 23:20 ` [PATCH v9 07/14] iotests: drop pre-Python 3.4 compatibility code John Snow
2020-03-30 12:12 ` Max Reitz
2020-03-24 23:20 ` [PATCH v9 08/14] iotests: touch up log function signature John Snow
2020-03-30 12:28 ` Max Reitz
2020-03-30 17:43 ` John Snow
2020-03-30 16:19 ` Kevin Wolf
2020-03-30 18:31 ` John Snow
2020-03-24 23:20 ` [PATCH v9 09/14] iotests: limit line length to 79 chars John Snow
2020-03-30 12:31 ` Max Reitz
2020-03-30 12:34 ` Max Reitz
2020-03-30 19:19 ` John Snow
2020-03-24 23:20 ` John Snow [this message]
2020-03-30 12:44 ` [PATCH v9 10/14] iotests: add hmp helper with logging Max Reitz
2020-03-30 16:27 ` Kevin Wolf
2020-03-24 23:21 ` [PATCH v9 11/14] iotests: add script_initialize John Snow
2020-03-24 23:21 ` [PATCH v9 12/14] iotest 258: use script_main John Snow
2020-03-24 23:21 ` [PATCH v9 13/14] iotests: Mark verify functions as private John Snow
2020-03-30 16:32 ` Kevin Wolf
2020-03-24 23:21 ` [PATCH v9 14/14] iotests: use python logging for iotests.log() John Snow
2020-03-30 13:00 ` [PATCH v9 00/14] iotests: use python logging Max Reitz
2020-03-30 19:41 ` John Snow
2020-03-30 19:03 ` John Snow
2020-03-31 12:15 ` Kevin Wolf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200324232103.4195-11-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=armbru@redhat.com \
--cc=ehabkost@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).