tests: qapi: Test 'features' of commands

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20191018081454.21369-4-armbru@redhat.com>
This commit is contained in:
Peter Krempa 2019-10-18 10:14:52 +02:00 committed by Markus Armbruster
parent 23394b4c39
commit 2e2e0df270
4 changed files with 74 additions and 4 deletions

View file

@ -61,10 +61,7 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor):
self._print_if(m.ifcond, 8)
self._print_variants(variants)
self._print_if(ifcond)
if features:
for f in features:
print(' feature %s' % f.name)
self._print_if(f.ifcond, 8)
self._print_features(features)
def visit_alternate_type(self, name, info, ifcond, variants):
print('alternate %s' % name)
@ -80,6 +77,7 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor):
print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s'
% (gen, success_response, boxed, allow_oob, allow_preconfig))
self._print_if(ifcond)
self._print_features(features)
def visit_event(self, name, info, ifcond, arg_type, boxed):
print('event %s %s' % (name, arg_type and arg_type.name))
@ -99,6 +97,13 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor):
if ifcond:
print('%sif %s' % (' ' * indent, ifcond))
@classmethod
def _print_features(cls, features):
if features:
for f in features:
print(' feature %s' % f.name)
cls._print_if(f.ifcond, 8)
def test_frontend(fname):
schema = QAPISchema(fname)