diff options
author | Markus Armbruster <armbru@redhat.com> | 2015-06-09 18:32:29 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2015-06-18 14:12:34 +0200 |
commit | 8608d2525186062099a38971c276752e7a38903a (patch) | |
tree | 504f996ece17d982bd4c8e72b6beae284be81ef0 | |
parent | 54414047eca5bee7d5ba6e7af5fb251f8635896c (diff) |
qapi: Fix file name in error messages for included files
We print the name as it appears in the include expression. Tools
processing error messages want it relative to the working directory.
Make it so.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
-rw-r--r-- | scripts/qapi.py | 7 | ||||
-rw-r--r-- | tests/qapi-schema/include-cycle.err | 4 | ||||
-rw-r--r-- | tests/qapi-schema/include-nested-err.err | 2 |
3 files changed, 6 insertions, 7 deletions
diff --git a/scripts/qapi.py b/scripts/qapi.py index c2eb12ba3a..716e348a3c 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -101,14 +101,13 @@ class QAPIExprError(Exception): class QAPISchema: - def __init__(self, fp, fname = None, include_hist = [], + def __init__(self, fp, include_hist = [], previously_included = [], incl_info = None): """ include_hist is a stack used to detect inclusion cycles previously_included is a global state used to avoid multiple inclusions of the same file""" abs_fname = os.path.abspath(fp.name) - if fname is None: - fname = fp.name + fname = fp.name self.fname = fname self.include_hist = include_hist + [(fname, abs_fname)] previously_included.append(abs_fname) @@ -148,7 +147,7 @@ class QAPISchema: except IOError, e: raise QAPIExprError(expr_info, '%s: %s' % (e.strerror, include)) - exprs_include = QAPISchema(fobj, include, self.include_hist, + exprs_include = QAPISchema(fobj, self.include_hist, previously_included, expr_info) self.exprs.extend(exprs_include.exprs) else: diff --git a/tests/qapi-schema/include-cycle.err b/tests/qapi-schema/include-cycle.err index 602cf62329..bdcd07dce2 100644 --- a/tests/qapi-schema/include-cycle.err +++ b/tests/qapi-schema/include-cycle.err @@ -1,3 +1,3 @@ In file included from tests/qapi-schema/include-cycle.json:1: -In file included from include-cycle-b.json:1: -include-cycle-c.json:1: Inclusion loop for include-cycle.json +In file included from tests/qapi-schema/include-cycle-b.json:1: +tests/qapi-schema/include-cycle-c.json:1: Inclusion loop for include-cycle.json diff --git a/tests/qapi-schema/include-nested-err.err b/tests/qapi-schema/include-nested-err.err index 1dacbda3be..1b7b22706b 100644 --- a/tests/qapi-schema/include-nested-err.err +++ b/tests/qapi-schema/include-nested-err.err @@ -1,2 +1,2 @@ In file included from tests/qapi-schema/include-nested-err.json:1: -missing-colon.json:1:10: Expected ":" +tests/qapi-schema/missing-colon.json:1:10: Expected ":" |