Skip to content

Commit

Permalink
qapi: Improve 'include' error message
Browse files Browse the repository at this point in the history
Use of '"...%s" % include' to print non-strings can lead to
ugly messages, such as this (if the .json change is applied
without the qapi.py change):
 Expected a file name (string), got: OrderedDict()

Better is to just omit the actual non-string value in the
message.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1443565276-4535-3-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
  • Loading branch information
ebblake authored and Markus Armbruster committed Oct 12, 2015
1 parent 1ffe818 commit 7408fb6
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 4 deletions.
3 changes: 1 addition & 2 deletions scripts/qapi.py
Expand Up @@ -132,8 +132,7 @@ def __init__(self, fp, previously_included = [], incl_info = None):
include = expr["include"]
if not isinstance(include, str):
raise QAPIExprError(expr_info,
'Expected a file name (string), got: %s'
% include)
"Value of 'include' must be a string")
incl_abs_fname = os.path.join(os.path.dirname(abs_fname),
include)
# catch inclusion cycle
Expand Down
2 changes: 1 addition & 1 deletion tests/qapi-schema/include-non-file.err
@@ -1 +1 @@
tests/qapi-schema/include-non-file.json:1: Expected a file name (string), got: ['foo', 'bar']
tests/qapi-schema/include-non-file.json:1: Value of 'include' must be a string
2 changes: 1 addition & 1 deletion tests/qapi-schema/include-non-file.json
@@ -1 +1 @@
{ 'include': [ 'foo', 'bar' ] }
{ 'include': {} }

0 comments on commit 7408fb6

Please sign in to comment.