Commit 181feaf3 authored by Markus Armbruster's avatar Markus Armbruster Committed by Eric Blake
Browse files

qapi: Lift error reporting from QAPISchema.__init__() to callers



Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20180211093607.27351-14-armbru@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: default avatarEric Blake <eblake@redhat.com>
parent 71a7510b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ from __future__ import print_function
import argparse
import re
import sys
from qapi.common import QAPISchema
from qapi.common import QAPIError, QAPISchema
from qapi.types import gen_types
from qapi.visit import gen_visit
from qapi.commands import gen_commands
@@ -39,7 +39,11 @@ def main(argv):
              file=sys.stderr)
        sys.exit(1)

    try:
        schema = QAPISchema(args.schema)
    except QAPIError as err:
        print(err, file=sys.stderr)
        exit(1)

    gen_types(schema, args.output_dir, args.prefix, args.builtins)
    gen_visit(schema, args.output_dir, args.prefix, args.builtins)
+9 −14
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@ import errno
import os
import re
import string
import sys
try:
    from collections import OrderedDict
except:
@@ -1459,7 +1458,6 @@ class QAPISchemaEvent(QAPISchemaEntity):

class QAPISchema(object):
    def __init__(self, fname):
        try:
        parser = QAPISchemaParser(open(fname, 'r'))
        exprs = check_exprs(parser.exprs)
        self.docs = parser.docs
@@ -1469,9 +1467,6 @@ class QAPISchema(object):
        self._predefining = False
        self._def_exprs(exprs)
        self.check()
        except QAPIError as err:
            print(err, file=sys.stderr)
            exit(1)

    def _def_entity(self, ent):
        # Only the predefined types are allowed to not have info
+8 −2
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@

from __future__ import print_function
import sys
from qapi.common import QAPISchema, QAPISchemaVisitor
from qapi.common import QAPIError, QAPISchema, QAPISchemaVisitor


class QAPISchemaTestVisitor(QAPISchemaVisitor):
@@ -52,7 +52,13 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor):
            for v in variants.variants:
                print('    case %s: %s' % (v.name, v.type.name))


try:
    schema = QAPISchema(sys.argv[1])
except QAPIError as err:
    print(err, file=sys.stderr)
    exit(1)

schema.visit(QAPISchemaTestVisitor())

for doc in schema.docs: