Commit ca0ac758 authored by Markus Armbruster's avatar Markus Armbruster
Browse files

tests/qapi-schema: Make test-qapi.py print arrays



The next few commits mess with array types, and having the changes
exposed in output of test-qapi.py will be useful.

Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Message-Id: <20190301154051.23317-2-armbru@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
[Rationale added to commit message]
parent 0984a157
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -52,6 +52,9 @@ object UserDefTwo
    member dict1: UserDefTwoDict optional=False
object UserDefThree
    member string0: str optional=False
array UserDefOneList UserDefOne
array UserDefTwoList UserDefTwo
array TestStructList TestStruct
object ForceArrays
    member unused1: UserDefOneList optional=False
    member unused2: UserDefTwoList optional=False
@@ -248,6 +251,7 @@ object __org.qemu_x-Union1
    member type: __org.qemu_x-Union1Kind optional=False
    tag type
    case __org.qemu_x-branch: q_obj_str-wrapper
array __org.qemu_x-Union1List __org.qemu_x-Union1
object __org.qemu_x-Struct2
    member array: __org.qemu_x-Union1List optional=False
object __org.qemu_x-Union2
@@ -260,6 +264,8 @@ alternate __org.qemu_x-Alt
    case b: __org.qemu_x-Base
event __ORG.QEMU_X-EVENT __org.qemu_x-Struct
   boxed=False
array __org.qemu_x-EnumList __org.qemu_x-Enum
array __org.qemu_x-StructList __org.qemu_x-Struct
object q_obj___org.qemu_x-command-arg
    member a: __org.qemu_x-EnumList optional=False
    member b: __org.qemu_x-StructList optional=False
+6 −0
Original line number Diff line number Diff line
@@ -32,6 +32,12 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor):
            self._print_if(m.ifcond, indent=8)
        self._print_if(ifcond)

    def visit_array_type(self, name, info, ifcond, element_type):
        if not info:
            return              # suppress built-in arrays
        print('array %s %s' % (name, element_type.name))
        self._print_if(ifcond)

    def visit_object_type(self, name, info, ifcond, base, members, variants):
        print('object %s' % name)
        if base: