qapi: Use quotes more consistently in frontend error messages

Consistently enclose error messages in double quotes.  Use single
quotes within, except for one case of "'".

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20190914153506.2151-8-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Markus Armbruster 2019-09-14 17:34:54 +02:00
parent 4d42815587
commit 9f5e6b088a
20 changed files with 38 additions and 36 deletions

View File

@ -214,7 +214,7 @@ class QAPIDoc(object):
# recognized, and get silently treated as ordinary text # recognized, and get silently treated as ordinary text
if not self.symbol and not self.body.text and line.startswith('@'): if not self.symbol and not self.body.text and line.startswith('@'):
if not line.endswith(':'): if not line.endswith(':'):
raise QAPIParseError(self._parser, "Line should end with :") raise QAPIParseError(self._parser, "Line should end with ':'")
self.symbol = line[1:-1] self.symbol = line[1:-1]
# FIXME invalid names other than the empty string aren't flagged # FIXME invalid names other than the empty string aren't flagged
if not self.symbol: if not self.symbol:
@ -470,7 +470,7 @@ class QAPISchemaParser(object):
else: else:
fobj = open(incl_fname, 'r') fobj = open(incl_fname, 'r')
except IOError as e: except IOError as e:
raise QAPISemError(info, '%s: %s' % (e.strerror, incl_fname)) raise QAPISemError(info, "%s: %s" % (e.strerror, incl_fname))
return QAPISchemaParser(fobj, previously_included, info) return QAPISchemaParser(fobj, previously_included, info)
def _pragma(self, name, value, info): def _pragma(self, name, value, info):
@ -522,7 +522,7 @@ class QAPISchemaParser(object):
ch = self.src[self.cursor] ch = self.src[self.cursor]
self.cursor += 1 self.cursor += 1
if ch == '\n': if ch == '\n':
raise QAPIParseError(self, 'Missing terminating "\'"') raise QAPIParseError(self, "Missing terminating \"'\"")
if esc: if esc:
# Note: we recognize only \\ because we have # Note: we recognize only \\ because we have
# no use for funny characters in strings # no use for funny characters in strings
@ -559,7 +559,7 @@ class QAPISchemaParser(object):
self.line += 1 self.line += 1
self.line_pos = self.cursor self.line_pos = self.cursor
elif not self.tok.isspace(): elif not self.tok.isspace():
raise QAPIParseError(self, 'Stray "%s"' % self.tok) raise QAPIParseError(self, "Stray '%s'" % self.tok)
def get_members(self): def get_members(self):
expr = OrderedDict() expr = OrderedDict()
@ -567,24 +567,24 @@ class QAPISchemaParser(object):
self.accept() self.accept()
return expr return expr
if self.tok != "'": if self.tok != "'":
raise QAPIParseError(self, 'Expected string or "}"') raise QAPIParseError(self, "Expected string or '}'")
while True: while True:
key = self.val key = self.val
self.accept() self.accept()
if self.tok != ':': if self.tok != ':':
raise QAPIParseError(self, 'Expected ":"') raise QAPIParseError(self, "Expected ':'")
self.accept() self.accept()
if key in expr: if key in expr:
raise QAPIParseError(self, 'Duplicate key "%s"' % key) raise QAPIParseError(self, "Duplicate key '%s'" % key)
expr[key] = self.get_expr(True) expr[key] = self.get_expr(True)
if self.tok == '}': if self.tok == '}':
self.accept() self.accept()
return expr return expr
if self.tok != ',': if self.tok != ',':
raise QAPIParseError(self, 'Expected "," or "}"') raise QAPIParseError(self, "Expected ',' or '}'")
self.accept() self.accept()
if self.tok != "'": if self.tok != "'":
raise QAPIParseError(self, 'Expected string') raise QAPIParseError(self, "Expected string")
def get_values(self): def get_values(self):
expr = [] expr = []
@ -592,20 +592,20 @@ class QAPISchemaParser(object):
self.accept() self.accept()
return expr return expr
if self.tok not in "{['tfn": if self.tok not in "{['tfn":
raise QAPIParseError(self, 'Expected "{", "[", "]", string, ' raise QAPIParseError(
'boolean or "null"') self, "Expected '{', '[', ']', string, boolean or 'null'")
while True: while True:
expr.append(self.get_expr(True)) expr.append(self.get_expr(True))
if self.tok == ']': if self.tok == ']':
self.accept() self.accept()
return expr return expr
if self.tok != ',': if self.tok != ',':
raise QAPIParseError(self, 'Expected "," or "]"') raise QAPIParseError(self, "Expected ',' or ']'")
self.accept() self.accept()
def get_expr(self, nested): def get_expr(self, nested):
if self.tok != '{' and not nested: if self.tok != '{' and not nested:
raise QAPIParseError(self, 'Expected "{"') raise QAPIParseError(self, "Expected '{'")
if self.tok == '{': if self.tok == '{':
self.accept() self.accept()
expr = self.get_members() expr = self.get_members()
@ -616,8 +616,8 @@ class QAPISchemaParser(object):
expr = self.val expr = self.val
self.accept() self.accept()
else: else:
raise QAPIParseError(self, 'Expected "{", "[", string, ' raise QAPIParseError(
'boolean or "null"') self, "Expected '{', '[', string, boolean or 'null'")
return expr return expr
def get_doc(self, info): def get_doc(self, info):
@ -881,9 +881,10 @@ def check_union(expr, info):
"struct '%s'" "struct '%s'"
% (discriminator, base)) % (discriminator, base))
if discriminator_value.get('if'): if discriminator_value.get('if'):
raise QAPISemError(info, 'The discriminator %s.%s for union %s ' raise QAPISemError(
'must not be conditional' % info,
(base, discriminator, name)) "The discriminator %s.%s for union %s must not be conditional"
% (base, discriminator, name))
enum_define = enum_types.get(discriminator_value['type']) enum_define = enum_types.get(discriminator_value['type'])
# Do not allow string discriminator # Do not allow string discriminator
if not enum_define: if not enum_define:

View File

@ -1 +1 @@
tests/qapi-schema/bad-type-int.json:3:13: Stray "1" tests/qapi-schema/bad-type-int.json:3:13: Stray '1'

View File

@ -1 +1 @@
tests/qapi-schema/doc-missing-colon.json:4:1: Line should end with : tests/qapi-schema/doc-missing-colon.json:4:1: Line should end with ':'

View File

@ -1 +1 @@
tests/qapi-schema/duplicate-key.json:3:10: Duplicate key "key" tests/qapi-schema/duplicate-key.json:3:10: Duplicate key 'key'

View File

@ -1 +1 @@
tests/qapi-schema/enum-int-member.json:3:31: Stray "1" tests/qapi-schema/enum-int-member.json:3:31: Stray '1'

View File

@ -0,0 +1 @@
tests/qapi-schema/escape-outside-string.json:3:27: Stray '\'

View File

@ -1 +1 @@
tests/qapi-schema/funny-char.json:2:36: Stray ";" tests/qapi-schema/funny-char.json:2:36: Stray ';'

View File

@ -1 +1 @@
tests/qapi-schema/funny-word.json:1:3: Stray "c" tests/qapi-schema/funny-word.json:1:3: Stray 'c'

View File

@ -1 +1 @@
tests/qapi-schema/include-before-err.json:2:13: Expected ":" tests/qapi-schema/include-before-err.json:2:13: Expected ':'

View File

@ -1,2 +1,2 @@
In file included from tests/qapi-schema/include-nested-err.json:1: In file included from tests/qapi-schema/include-nested-err.json:1:
tests/qapi-schema/missing-colon.json:1:10: Expected ":" tests/qapi-schema/missing-colon.json:1:10: Expected ':'

View File

@ -1 +1 @@
tests/qapi-schema/leading-comma-list.json:2:13: Expected "{", "[", "]", string, boolean or "null" tests/qapi-schema/leading-comma-list.json:2:13: Expected '{', '[', ']', string, boolean or 'null'

View File

@ -1 +1 @@
tests/qapi-schema/leading-comma-object.json:1:3: Expected string or "}" tests/qapi-schema/leading-comma-object.json:1:3: Expected string or '}'

View File

@ -1 +1 @@
tests/qapi-schema/missing-colon.json:1:10: Expected ":" tests/qapi-schema/missing-colon.json:1:10: Expected ':'

View File

@ -1 +1 @@
tests/qapi-schema/missing-comma-list.json:2:20: Expected "," or "]" tests/qapi-schema/missing-comma-list.json:2:20: Expected ',' or ']'

View File

@ -1 +1 @@
tests/qapi-schema/missing-comma-object.json:2:3: Expected "," or "}" tests/qapi-schema/missing-comma-object.json:2:3: Expected ',' or '}'

View File

@ -1 +1 @@
tests/qapi-schema/non-objects.json:1:1: Expected "{" tests/qapi-schema/non-objects.json:1:1: Expected '{'

View File

@ -1 +1 @@
tests/qapi-schema/quoted-structural-chars.json:1:1: Expected "{" tests/qapi-schema/quoted-structural-chars.json:1:1: Expected '{'

View File

@ -1 +1 @@
tests/qapi-schema/trailing-comma-list.json:2:36: Expected "{", "[", string, boolean or "null" tests/qapi-schema/trailing-comma-list.json:2:36: Expected '{', '[', string, boolean or 'null'

View File

@ -1 +1 @@
tests/qapi-schema/unclosed-list.json:1:20: Expected "," or "]" tests/qapi-schema/unclosed-list.json:1:20: Expected ',' or ']'

View File

@ -1 +1 @@
tests/qapi-schema/unclosed-object.json:1:21: Expected "," or "}" tests/qapi-schema/unclosed-object.json:1:21: Expected ',' or '}'