b/tests/qapi-schema/qapi-schema-test.json
@@ -107,3 +107,11 @@
'data': { '*a': 'int', '*b': 'UserDefOne', 'c': 'str' } }
{ 'event': 'EVENT_D',
'data': { 'a' : 'EventStructOne', 'b' : 'str', '*c': 'str', '*enum3':
'EnumOne' } }
+
+# test that we correctly compile downstream extensions
+{ 'struct': '__org.qemu_Struct', 'data': { '__org.qemu_member': 'str' } }
+{ 'enum': '__org.qemu_Enum', 'data': [ '__org.qemu_value' ] }
+{ 'event': '__ORG.QEMU_EVENT', 'data': '__org.qemu_Struct' }
+{ 'command': '__org.qemu_command',
+ 'data': { 'a': '__org.qemu_Enum', 'b': '__org.qemu_Struct' } }
+{ 'union': '__org.qemu_Union', 'data': { '__org.qemu_branch': 'str' } }
b/tests/qapi-schema/qapi-schema-test.out
@@ -22,10 +22,17 @@
OrderedDict([('event', 'EVENT_A')]),
OrderedDict([('event', 'EVENT_B'), ('data', OrderedDict())]),
OrderedDict([('event', 'EVENT_C'), ('data', OrderedDict([('*a',
'int'), ('*b', 'UserDefOne'), ('c', 'str')]))]),
- OrderedDict([('event', 'EVENT_D'), ('data', OrderedDict([('a',
'EventStructOne'), ('b', 'str'), ('*c', 'str'), ('*enum3', 'EnumOne')]))])]
+ OrderedDict([('event', 'EVENT_D'), ('data', OrderedDict([('a',
'EventStructOne'), ('b', 'str'), ('*c', 'str'), ('*enum3', 'EnumOne')]))]),
+ OrderedDict([('struct', '__org.qemu_Struct'), ('data',
OrderedDict([('__org.qemu_member', 'str')]))]),
+ OrderedDict([('enum', '__org.qemu_Enum'), ('data',
['__org.qemu_value'])]),
+ OrderedDict([('event', '__ORG.QEMU_EVENT'), ('data',
'__org.qemu_Struct')]),
+ OrderedDict([('command', '__org.qemu_command'), ('data',
OrderedDict([('a', '__org.qemu_Enum'), ('b', '__org.qemu_Struct')]))]),
+ OrderedDict([('union', '__org.qemu_Union'), ('data',
OrderedDict([('__org.qemu_branch', 'str')]))])]