• M
    qapi: Command returning anonymous type doesn't work, outlaw · 9b090d42
    Markus Armbruster 提交于
    Reproducer: with
    
        { 'command': 'user_def_cmd4', 'returns': { 'a': 'int' } }
    
    added to qapi-schema-test.json, qapi-commands.py dies when it tries to
    generate the command handler function
    
        Traceback (most recent call last):
          File "/work/armbru/qemu/scripts/qapi-commands.py", line 359, in <module>
            ret = generate_command_decl(cmd['command'], arglist, ret_type) + "\n"
          File "/work/armbru/qemu/scripts/qapi-commands.py", line 29, in generate_command_decl
            ret_type=c_type(ret_type), name=c_name(name),
          File "/work/armbru/qemu/scripts/qapi.py", line 927, in c_type
            assert isinstance(value, str) and value != ""
        AssertionError
    
    because the return type doesn't exist.
    
    Simply outlaw this usage, and drop or dumb down test cases accordingly.
    Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: NEric Blake <eblake@redhat.com>
    9b090d42
returns-dict.json 87 字节