From: Peter Krempa <pkrempa@redhat.com>
Currently the conversation was a list of tuples. Since upcoming patches
will want to store some additional flags with the processed commands
convert it to a list of dicts, so that we can name the individual
fields.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
scripts/qemu-replies-tool.py | 54 ++++++++++++++++++------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/scripts/qemu-replies-tool.py b/scripts/qemu-replies-tool.py
index 6d474a83f2..4ec06ee95d 100755
--- a/scripts/qemu-replies-tool.py
+++ b/scripts/qemu-replies-tool.py
@@ -36,13 +36,13 @@ def qemu_replies_load(filename):
if command is None:
command = json.loads(jsonstr)
else:
- conv.append((command, json.loads(jsonstr)))
+ conv.append({'cmd': command, 'rep': json.loads(jsonstr)})
command = None
jsonstr = ''
if command is not None and jsonstr != '':
- conv.append((command, json.loads(jsonstr)))
+ conv.append({'cmd': command, 'rep': json.loads(jsonstr)})
command = None
jsonstr = ''
@@ -67,14 +67,14 @@ def qemu_replies_compare_or_replace(filename, conv, regenerate_on_error):
seq = 9999 # poison the initial counter state
# possibly fix mis-ordererd 'id' fields
- for (cmd, rep) in conv:
+ for c in conv:
# 'qmp_capabilities' command restarts the numbering sequence
- if cmd['execute'] == 'qmp_capabilities':
+ if c['cmd']['execute'] == 'qmp_capabilities':
seq = 1
newid = 'libvirt-%d' % seq
- cmd['id'] = newid
- rep['id'] = newid
+ c['cmd']['id'] = newid
+ c['rep']['id'] = newid
seq += 1
@@ -82,7 +82,7 @@ def qemu_replies_compare_or_replace(filename, conv, regenerate_on_error):
if len(actual) != 0:
actual += '\n\n'
- actual += json.dumps(cmd, indent=2) + '\n\n' + json.dumps(rep, indent=2)
+ actual += json.dumps(c['cmd'], indent=2) + '\n\n' + json.dumps(c['rep'], indent=2)
expect = ''
actual += '\n'
@@ -114,9 +114,9 @@ def modify_replies(conv):
version = None # filled with a dictionary with 'major', 'minor', 'micro' keys
# find version of current qemu for later use
- for (cmd, rep) in conv:
- if cmd['execute'] == 'query-version':
- version = rep['return']['qemu']
+ for c in conv:
+ if c['cmd']['execute'] == 'query-version':
+ version = c['rep']['return']['qemu']
break
if version is None:
@@ -126,9 +126,9 @@ def modify_replies(conv):
# Find index of a command, in this case we're looking for the last
# invocation of given command
for i in range(len(conv)):
- (cmd, rep) = conv[i]
+ c = conv[i]
- if cmd['execute'] == 'device-list-properties':
+ if c['cmd']['execute'] == 'device-list-properties':
idx = i
if idx == -1:
@@ -161,9 +161,9 @@ def modify_replies(conv):
# insert command into the QMP conversation based on version of qemu
if version['major'] >= 8 and version['minor'] > 0:
- conv.insert(idx, (cmd, reply))
+ conv.insert(idx, {'cmd': cmd, 'rep': reply})
else:
- conv.insert(idx, (cmd, reply_unsupp))
+ conv.insert(idx, {'cmd': cmd, 'rep': reply_unsupp})
# Validates that 'entry' (an member of the QMP schema):
@@ -389,9 +389,9 @@ def dump_qmp_probe_strings(schemalist):
def dump_qom_list_types(conv):
types = []
- for (cmd, rep) in conv:
- if cmd['execute'] == 'qom-list-types':
- for qomtype in rep['return']:
+ for c in conv:
+ if c['cmd']['execute'] == 'qom-list-types':
+ for qomtype in c['rep']['return']:
# validate known fields:
# 'parent' is ignored below as it causes output churn
for k in qomtype:
@@ -411,20 +411,20 @@ def dump_qom_list_types(conv):
def dump_device_list_properties(conv):
devices = []
- for (cmd, rep) in conv:
- if cmd['execute'] == 'device-list-properties':
- if 'return' in rep:
- for arg in rep['return']:
+ for c in conv:
+ if c['cmd']['execute'] == 'device-list-properties':
+ if 'return' in c['rep']:
+ for arg in c['rep']['return']:
for k in arg:
if k not in ['name', 'type', 'description', 'default-value']:
- raise Exception("Unhandled 'device-list-properties' typename '%s' field '%s'" % (cmd['arguments']['typename'], k))
+ raise Exception("Unhandled 'device-list-properties' typename '%s' field '%s'" % (c['cmd']['arguments']['typename'], k))
if 'default-value' in arg:
defval = ' (%s)' % str(arg['default-value'])
else:
defval = ''
- devices.append('%s %s %s%s' % (cmd['arguments']['typename'],
+ devices.append('%s %s %s%s' % (c['cmd']['arguments']['typename'],
arg['name'],
arg['type'],
defval))
@@ -441,12 +441,12 @@ def process_one(filename, args):
modify_replies(conv)
- for (cmd, rep) in conv:
- if cmd['execute'] == 'query-qmp-schema':
- validate_qmp_schema(rep['return'])
+ for c in conv:
+ if c['cmd']['execute'] == 'query-qmp-schema':
+ validate_qmp_schema(c['rep']['return'])
if args.dump_all or args.dump_qmp_query_strings:
- dump_qmp_probe_strings(rep['return'])
+ dump_qmp_probe_strings(c['rep']['return'])
dumped = True
if args.dump_all or args.dump_qom_list_types:
--
2.51.0