diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2018-08-15 20:20:34 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2018-08-15 20:20:34 +0100 |
commit | c146b54c7fdbd926ee8fc4369699e3480d54f6fa (patch) | |
tree | 99f97a391fc6fc79cb366adcf79434981955b16e | |
parent | 1d746ee95d4d7deb1460006f8c01c430dcb50b9f (diff) | |
parent | cb9ec42f33c07cd07d2e2971422bf7636c761202 (diff) | |
download | qemu-c146b54c7fdbd926ee8fc4369699e3480d54f6fa.zip qemu-c146b54c7fdbd926ee8fc4369699e3480d54f6fa.tar.gz qemu-c146b54c7fdbd926ee8fc4369699e3480d54f6fa.tar.bz2 |
Merge remote-tracking branch 'remotes/armbru/tags/pull-misc-2018-08-15' into staging
Miscellaneous patches for 2018-08-15
# gpg: Signature made Wed 15 Aug 2018 07:15:31 BST
# gpg: using RSA key 3870B400EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-misc-2018-08-15:
monitor: fix oob command leak
tests: fix crumple/recursive leak
qapi: Fix some pycodestyle-3 complaints
tests: change /0.15/* tests to /qmp/*
qmp-shell: learn to send commands with quoted arguments
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | monitor.c | 2 | ||||
-rw-r--r-- | scripts/qapi/common.py | 15 | ||||
-rw-r--r-- | scripts/qapi/visit.py | 2 | ||||
-rwxr-xr-x | scripts/qmp/qmp-shell | 3 | ||||
-rw-r--r-- | tests/check-block-qdict.c | 1 | ||||
-rw-r--r-- | tests/qapi-schema/test-qapi.py | 13 | ||||
-rw-r--r-- | tests/test-qmp-cmds.c | 10 |
7 files changed, 27 insertions, 19 deletions
@@ -4277,6 +4277,8 @@ static void handle_qmp_command(JSONMessageParser *parser, GQueue *tokens) trace_monitor_qmp_cmd_out_of_band(qobject_get_try_str(id) ?: ""); monitor_qmp_dispatch(mon, req, id); + qobject_unref(req); + qobject_unref(id); return; } diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py index 9230a2a..02c5c67 100644 --- a/scripts/qapi/common.py +++ b/scripts/qapi/common.py @@ -884,12 +884,12 @@ def check_keys(expr_elem, meta, required, optional=[]): if key not in required and key not in optional: raise QAPISemError(info, "Unknown key '%s' in %s '%s'" % (key, meta, name)) - if (key == 'gen' or key == 'success-response') and value is not False: + if key in ['gen', 'success-response'] and value is not False: raise QAPISemError(info, "'%s' of %s '%s' should only use false value" % (key, meta, name)) - if (key == 'boxed' or key == 'allow-oob' or - key == 'allow-preconfig') and value is not True: + if (key in ['boxed', 'allow-oob', 'allow-preconfig'] + and value is not True): raise QAPISemError(info, "'%s' of %s '%s' should only use true value" % (key, meta, name)) @@ -1845,12 +1845,12 @@ def camel_to_upper(value): return c_fun_str new_name = '' - l = len(c_fun_str) - for i in range(l): + length = len(c_fun_str) + for i in range(length): c = c_fun_str[i] # When c is upper and no '_' appears before, do more checks if c.isupper() and (i > 0) and c_fun_str[i - 1] != '_': - if i < l - 1 and c_fun_str[i + 1].islower(): + if i < length - 1 and c_fun_str[i + 1].islower(): new_name += '_' elif c_fun_str[i - 1].isdigit(): new_name += '_' @@ -1863,6 +1863,7 @@ def c_enum_const(type_name, const_name, prefix=None): type_name = prefix return camel_to_upper(type_name) + '_' + c_name(const_name, False).upper() + if hasattr(str, 'maketrans'): c_name_trans = str.maketrans('.-', '__') else: @@ -1912,6 +1913,7 @@ def c_name(name, protect=True): return 'q_' + name return name + eatspace = '\033EATSPACE.' pointer_suffix = ' *' + eatspace @@ -1922,6 +1924,7 @@ def genindent(count): ret += ' ' return ret + indent_level = 0 diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py index dd5034a..460cf12 100644 --- a/scripts/qapi/visit.py +++ b/scripts/qapi/visit.py @@ -187,7 +187,7 @@ void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error } switch ((*obj)->type) { ''', - c_name=c_name(name)) + c_name=c_name(name)) for var in variants.variants: ret += mcgen(''' diff --git a/scripts/qmp/qmp-shell b/scripts/qmp/qmp-shell index a42306d..7701407 100755 --- a/scripts/qmp/qmp-shell +++ b/scripts/qmp/qmp-shell @@ -74,6 +74,7 @@ import sys import os import errno import atexit +import shlex class QMPCompleter(list): def complete(self, text, state): @@ -219,7 +220,7 @@ class QMPShell(qmp.QEMUMonitorProtocol): < command-name > [ arg-name1=arg1 ] ... [ arg-nameN=argN ] """ - cmdargs = cmdline.split() + cmdargs = shlex.split(cmdline) # Transactional CLI entry/exit: if cmdargs[0] == 'transaction(': diff --git a/tests/check-block-qdict.c b/tests/check-block-qdict.c index 478807f..73d3e9f 100644 --- a/tests/check-block-qdict.c +++ b/tests/check-block-qdict.c @@ -491,6 +491,7 @@ static void qdict_crumple_test_recursive(void) empty_list_0 = qobject_to(QDict, qlist_pop(empty_list)); g_assert(empty_list_0); g_assert_cmpint(qdict_size(empty_list_0), ==, 0); + qobject_unref(empty_list_0); qobject_unref(src); qobject_unref(dst); diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py index f514fe7..cea21c7 100644 --- a/tests/qapi-schema/test-qapi.py +++ b/tests/qapi-schema/test-qapi.py @@ -34,8 +34,8 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): if base: print(' base %s' % base.name) for m in members: - print(' member %s: %s optional=%s' % \ - (m.name, m.type.name, m.optional)) + print(' member %s: %s optional=%s' + % (m.name, m.type.name, m.optional)) self._print_variants(variants) self._print_if(ifcond) @@ -46,10 +46,11 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): def visit_command(self, name, info, ifcond, arg_type, ret_type, gen, success_response, boxed, allow_oob, allow_preconfig): - print('command %s %s -> %s' % \ - (name, arg_type and arg_type.name, ret_type and ret_type.name)) - print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s' % \ - (gen, success_response, boxed, allow_oob, allow_preconfig)) + print('command %s %s -> %s' + % (name, arg_type and arg_type.name, + ret_type and ret_type.name)) + print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s' + % (gen, success_response, boxed, allow_oob, allow_preconfig)) self._print_if(ifcond) def visit_event(self, name, info, ifcond, arg_type, boxed): diff --git a/tests/test-qmp-cmds.c b/tests/test-qmp-cmds.c index ba41a61..ab414fa 100644 --- a/tests/test-qmp-cmds.c +++ b/tests/test-qmp-cmds.c @@ -286,11 +286,11 @@ int main(int argc, char **argv) { g_test_init(&argc, &argv, NULL); - g_test_add_func("/0.15/dispatch_cmd", test_dispatch_cmd); - g_test_add_func("/0.15/dispatch_cmd_failure", test_dispatch_cmd_failure); - g_test_add_func("/0.15/dispatch_cmd_io", test_dispatch_cmd_io); - g_test_add_func("/0.15/dealloc_types", test_dealloc_types); - g_test_add_func("/0.15/dealloc_partial", test_dealloc_partial); + g_test_add_func("/qmp/dispatch_cmd", test_dispatch_cmd); + g_test_add_func("/qmp/dispatch_cmd_failure", test_dispatch_cmd_failure); + g_test_add_func("/qmp/dispatch_cmd_io", test_dispatch_cmd_io); + g_test_add_func("/qmp/dealloc_types", test_dealloc_types); + g_test_add_func("/qmp/dealloc_partial", test_dealloc_partial); test_qmp_init_marshal(&qmp_commands); g_test_run(); |