From: Eric Blake Date: Tue, 29 Sep 2015 22:21:00 +0000 (-0600) Subject: qapi: Improve 'include' error message X-Git-Tag: v2.5.0-rc0~75^2~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7408fb67c0f9403f6e40aecf97cf798fc14e2cd8;p=thirdparty%2Fqemu.git qapi: Improve 'include' error message 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 Message-Id: <1443565276-4535-3-git-send-email-eblake@redhat.com> Signed-off-by: Markus Armbruster --- diff --git a/scripts/qapi.py b/scripts/qapi.py index 06478bb269d..362e0076e99 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -132,8 +132,7 @@ class QAPISchemaParser(object): 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 diff --git a/tests/qapi-schema/include-non-file.err b/tests/qapi-schema/include-non-file.err index 9658c788012..faae1eacf1a 100644 --- a/tests/qapi-schema/include-non-file.err +++ b/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 diff --git a/tests/qapi-schema/include-non-file.json b/tests/qapi-schema/include-non-file.json index cd43c3f9dbc..4711aa42e58 100644 --- a/tests/qapi-schema/include-non-file.json +++ b/tests/qapi-schema/include-non-file.json @@ -1 +1 @@ -{ 'include': [ 'foo', 'bar' ] } +{ 'include': {} }