qapi: Allow true, false and null in schema json

In the near term, we will use it for a sensible-looking
'gen':false inside command declarations, instead of the
current ugly 'gen':'no'.

In the long term, it will allow conversion from shorthand
with defaults mentioned only in side-band documentation:
 'data':{'*flag':'bool', '*string':'str'}
into an explicit default value documentation, as in:
 'data':{'flag':{'type':'bool', 'optional':true, 'default':true},
         'string':{'type':'str', 'optional':true, 'default':null}}

We still don't parse integer values (also necessary before
we can allow explicit defaults), but that can come in a later
series.

Update the testsuite to match an improved error message.

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Fam Zheng 2015-05-04 09:05:18 -06:00 committed by Markus Armbruster
parent 4dc2e6906e
commit e53188ada5
3 changed files with 19 additions and 5 deletions

View file

@ -1 +1 @@
tests/qapi-schema/bad-type-bool.json:3:11: Stray "t"
tests/qapi-schema/bad-type-bool.json:2: 'type' key must have a string value

View file

@ -1,3 +1,2 @@
# we reject an expression with a metatype that is not a string
# FIXME: once the parser understands bool inputs, improve the error message
{ 'type': true, 'data': { } }