Commit c146b54c authored by Peter Maydell's avatar Peter Maydell
Browse files

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: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 1d746ee9 cb9ec42f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;
    }

+9 −6
Original line number Diff line number Diff line
@@ -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


+2 −1
Original line number Diff line number Diff line
@@ -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(':
+1 −0
Original line number Diff line number Diff line
@@ -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);
+7 −6
Original line number Diff line number Diff line
@@ -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):
Loading