[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC 09/21] qapi: Don't absolutize include file name
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH RFC 09/21] qapi: Don't absolutize include file name in error messages |
Date: |
Fri, 2 Feb 2018 14:03:24 +0100 |
Error messages print absolute filenames of included files even gave a
relative one on the command line:
PYTHONPATH=scripts python -B tests/qapi-schema/test-qapi.py
tests/qapi-schema/include-cycle.json
In file included from tests/qapi-schema/include-cycle.json:1:
In file included from
/work/armbru/qemu/tests/qapi-schema/include-cycle-b.json:1:
/work/armbru/qemu/tests/qapi-schema/include-cycle-c.json:1: Inclusion loop
for include-cycle.json
Improve this to
In file included from tests/qapi-schema/include-cycle.json:1:
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
Signed-off-by: Markus Armbruster <address@hidden>
---
scripts/qapi/common.py | 12 ++++++------
tests/qapi-schema/include-no-file.err | 2 +-
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
index be0fcc548a..6c6962a364 100644
--- a/scripts/qapi/common.py
+++ b/scripts/qapi/common.py
@@ -255,9 +255,8 @@ class QAPIDoc(object):
class QAPISchemaParser(object):
def __init__(self, fp, previously_included=[], incl_info=None):
- abs_fname = os.path.abspath(fp.name)
self.fname = fp.name
- previously_included.append(abs_fname)
+ previously_included.append(os.path.abspath(fp.name))
self.incl_info = incl_info
self.src = fp.read()
if self.src == '' or self.src[-1] != '\n':
@@ -288,7 +287,7 @@ class QAPISchemaParser(object):
if not isinstance(include, str):
raise QAPISemError(info,
"Value of 'include' must be a string")
- self._include(include, info, os.path.dirname(abs_fname),
+ self._include(include, info, os.path.dirname(self.fname),
previously_included)
elif "pragma" in expr:
self.reject_expr_doc(cur_doc)
@@ -321,7 +320,8 @@ class QAPISchemaParser(object):
% doc.symbol)
def _include(self, include, info, base_dir, previously_included):
- incl_abs_fname = os.path.join(base_dir, include)
+ incl_fname = os.path.join(base_dir, include)
+ incl_abs_fname = os.path.abspath(incl_fname)
# catch inclusion cycle
inf = info
while inf:
@@ -333,9 +333,9 @@ class QAPISchemaParser(object):
if incl_abs_fname in previously_included:
return
try:
- fobj = open(incl_abs_fname, 'r')
+ fobj = open(incl_fname, 'r')
except IOError as e:
- raise QAPISemError(info, '%s: %s' % (e.strerror, include))
+ raise QAPISemError(info, '%s: %s' % (e.strerror, incl_fname))
exprs_include = QAPISchemaParser(fobj, previously_included, info)
self.exprs.extend(exprs_include.exprs)
self.docs.extend(exprs_include.docs)
diff --git a/tests/qapi-schema/include-no-file.err
b/tests/qapi-schema/include-no-file.err
index d5b9b22d85..e42bcf4bc1 100644
--- a/tests/qapi-schema/include-no-file.err
+++ b/tests/qapi-schema/include-no-file.err
@@ -1 +1 @@
-tests/qapi-schema/include-no-file.json:1: No such file or directory:
include-no-file-sub.json
+tests/qapi-schema/include-no-file.json:1: No such file or directory:
tests/qapi-schema/include-no-file-sub.json
--
2.13.6
- Re: [Qemu-devel] [PATCH RFC 14/21] qapi: Generate in source order, (continued)
[Qemu-devel] [PATCH RFC 03/21] qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc, Markus Armbruster, 2018/02/02
- Re: [Qemu-devel] [PATCH RFC 03/21] qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc, Eric Blake, 2018/02/02
- Re: [Qemu-devel] [PATCH RFC 03/21] qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc, Markus Armbruster, 2018/02/03
- Re: [Qemu-devel] [PATCH RFC 03/21] qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc, Eric Blake, 2018/02/05
- Re: [Qemu-devel] [PATCH RFC 03/21] qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc, Markus Armbruster, 2018/02/06
Re: [Qemu-devel] [PATCH RFC 03/21] qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc, Marc-Andre Lureau, 2018/02/05
[Qemu-devel] [PATCH RFC 09/21] qapi: Don't absolutize include file name in error messages,
Markus Armbruster <=
Re: [Qemu-devel] [PATCH RFC 09/21] qapi: Don't absolutize include file name in error messages, Marc-Andre Lureau, 2018/02/05
[Qemu-devel] [PATCH RFC 15/21] qapi: Record 'include' directives in intermediate representation, Markus Armbruster, 2018/02/02
[Qemu-devel] [PATCH RFC 13/21] qapi: Record 'include' directives in parse tree, Markus Armbruster, 2018/02/02