]> git.proxmox.com Git - mirror_qemu.git/commitdiff
qemu-iotests: Add VM.qmp_log()
authorKevin Wolf <kwolf@redhat.com>
Wed, 23 May 2018 16:17:45 +0000 (18:17 +0200)
committerKevin Wolf <kwolf@redhat.com>
Wed, 30 May 2018 11:31:12 +0000 (13:31 +0200)
This adds a helper function that logs both the QMP request and the
received response before returning it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
tests/qemu-iotests/iotests.py

index 17aa7c88dc8a1d90d489180354c4cd527927ca67..2f54823db657058c7525d7b51b61e0f242bd1c69 100644 (file)
@@ -206,6 +206,10 @@ def filter_qmp_event(event):
         event['timestamp']['microseconds'] = 'USECS'
     return event
 
+def filter_testfiles(msg):
+    prefix = os.path.join(test_dir, "%s-" % (os.getpid()))
+    return msg.replace(prefix, 'TEST_DIR/PID-')
+
 def log(msg, filters=[]):
     for flt in filters:
         msg = flt(msg)
@@ -389,6 +393,13 @@ class VM(qtest.QEMUQtestMachine):
             result.append(filter_qmp_event(ev))
         return result
 
+    def qmp_log(self, cmd, filters=[filter_testfiles], **kwargs):
+        logmsg = "{'execute': '%s', 'arguments': %s}" % (cmd, kwargs)
+        log(logmsg, filters)
+        result = self.qmp(cmd, **kwargs)
+        log(str(result), filters)
+        return result
+
 
 index_re = re.compile(r'([^\[]+)\[([^\]]+)\]')