Commit e234398a authored by Kevin Wolf's avatar Kevin Wolf
Browse files

qemu-iotests: Add VM.qmp_log()



This adds a helper function that logs both the QMP request and the
received response before returning it.

Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
Reviewed-by: default avatarJeff Cody <jcody@redhat.com>
Reviewed-by: default avatarMax Reitz <mreitz@redhat.com>
parent 5ad1dbf7
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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'([^\[]+)\[([^\]]+)\]')