Skip to content

Commit

Permalink
qapi: Use quotes more consistently in frontend error messages
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Markus Armbruster committed Sep 24, 2019
1 parent 4d42815 commit 9f5e6b0
Show file tree
Hide file tree
Showing 20 changed files with 38 additions and 36 deletions.
37 changes: 19 additions & 18 deletions scripts/qapi/common.py
Expand Up @@ -214,7 +214,7 @@ def _append_body_line(self, line):
# recognized, and get silently treated as ordinary text
if not self.symbol and not self.body.text and line.startswith('@'):
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]
# FIXME invalid names other than the empty string aren't flagged
if not self.symbol:
Expand Down Expand Up @@ -470,7 +470,7 @@ def _include(self, include, info, incl_fname, previously_included):
else:
fobj = open(incl_fname, 'r')
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)

def _pragma(self, name, value, info):
Expand Down Expand Up @@ -522,7 +522,7 @@ def accept(self, skip_comment=True):
ch = self.src[self.cursor]
self.cursor += 1
if ch == '\n':
raise QAPIParseError(self, 'Missing terminating "\'"')
raise QAPIParseError(self, "Missing terminating \"'\"")
if esc:
# Note: we recognize only \\ because we have
# no use for funny characters in strings
Expand Down Expand Up @@ -559,53 +559,53 @@ def accept(self, skip_comment=True):
self.line += 1
self.line_pos = self.cursor
elif not self.tok.isspace():
raise QAPIParseError(self, 'Stray "%s"' % self.tok)
raise QAPIParseError(self, "Stray '%s'" % self.tok)

def get_members(self):
expr = OrderedDict()
if self.tok == '}':
self.accept()
return expr
if self.tok != "'":
raise QAPIParseError(self, 'Expected string or "}"')
raise QAPIParseError(self, "Expected string or '}'")
while True:
key = self.val
self.accept()
if self.tok != ':':
raise QAPIParseError(self, 'Expected ":"')
raise QAPIParseError(self, "Expected ':'")
self.accept()
if key in expr:
raise QAPIParseError(self, 'Duplicate key "%s"' % key)
raise QAPIParseError(self, "Duplicate key '%s'" % key)
expr[key] = self.get_expr(True)
if self.tok == '}':
self.accept()
return expr
if self.tok != ',':
raise QAPIParseError(self, 'Expected "," or "}"')
raise QAPIParseError(self, "Expected ',' or '}'")
self.accept()
if self.tok != "'":
raise QAPIParseError(self, 'Expected string')
raise QAPIParseError(self, "Expected string")

def get_values(self):
expr = []
if self.tok == ']':
self.accept()
return expr
if self.tok not in "{['tfn":
raise QAPIParseError(self, 'Expected "{", "[", "]", string, '
'boolean or "null"')
raise QAPIParseError(
self, "Expected '{', '[', ']', string, boolean or 'null'")
while True:
expr.append(self.get_expr(True))
if self.tok == ']':
self.accept()
return expr
if self.tok != ',':
raise QAPIParseError(self, 'Expected "," or "]"')
raise QAPIParseError(self, "Expected ',' or ']'")
self.accept()

def get_expr(self, nested):
if self.tok != '{' and not nested:
raise QAPIParseError(self, 'Expected "{"')
raise QAPIParseError(self, "Expected '{'")
if self.tok == '{':
self.accept()
expr = self.get_members()
Expand All @@ -616,8 +616,8 @@ def get_expr(self, nested):
expr = self.val
self.accept()
else:
raise QAPIParseError(self, 'Expected "{", "[", string, '
'boolean or "null"')
raise QAPIParseError(
self, "Expected '{', '[', string, boolean or 'null'")
return expr

def get_doc(self, info):
Expand Down Expand Up @@ -881,9 +881,10 @@ def check_union(expr, info):
"struct '%s'"
% (discriminator, base))
if discriminator_value.get('if'):
raise QAPISemError(info, 'The discriminator %s.%s for union %s '
'must not be conditional' %
(base, discriminator, name))
raise QAPISemError(
info,
"The discriminator %s.%s for union %s must not be conditional"
% (base, discriminator, name))
enum_define = enum_types.get(discriminator_value['type'])
# Do not allow string discriminator
if not enum_define:
Expand Down
2 changes: 1 addition & 1 deletion tests/qapi-schema/bad-type-int.err
@@ -1 +1 @@
tests/qapi-schema/bad-type-int.json:3:13: Stray "1"
tests/qapi-schema/bad-type-int.json:3:13: Stray '1'
2 changes: 1 addition & 1 deletion tests/qapi-schema/doc-missing-colon.err
@@ -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 ':'
2 changes: 1 addition & 1 deletion tests/qapi-schema/duplicate-key.err
@@ -1 +1 @@
tests/qapi-schema/duplicate-key.json:3:10: Duplicate key "key"
tests/qapi-schema/duplicate-key.json:3:10: Duplicate key 'key'
2 changes: 1 addition & 1 deletion tests/qapi-schema/enum-int-member.err
@@ -1 +1 @@
tests/qapi-schema/enum-int-member.json:3:31: Stray "1"
tests/qapi-schema/enum-int-member.json:3:31: Stray '1'
1 change: 1 addition & 0 deletions tests/qapi-schema/escape-outside-string.err
@@ -0,0 +1 @@
tests/qapi-schema/escape-outside-string.json:3:27: Stray '\'
2 changes: 1 addition & 1 deletion tests/qapi-schema/funny-char.err
@@ -1 +1 @@
tests/qapi-schema/funny-char.json:2:36: Stray ";"
tests/qapi-schema/funny-char.json:2:36: Stray ';'
2 changes: 1 addition & 1 deletion tests/qapi-schema/funny-word.err
@@ -1 +1 @@
tests/qapi-schema/funny-word.json:1:3: Stray "c"
tests/qapi-schema/funny-word.json:1:3: Stray 'c'
2 changes: 1 addition & 1 deletion tests/qapi-schema/include-before-err.err
@@ -1 +1 @@
tests/qapi-schema/include-before-err.json:2:13: Expected ":"
tests/qapi-schema/include-before-err.json:2:13: Expected ':'
2 changes: 1 addition & 1 deletion tests/qapi-schema/include-nested-err.err
@@ -1,2 +1,2 @@
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 ':'
2 changes: 1 addition & 1 deletion tests/qapi-schema/leading-comma-list.err
@@ -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'
2 changes: 1 addition & 1 deletion tests/qapi-schema/leading-comma-object.err
@@ -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 '}'
2 changes: 1 addition & 1 deletion tests/qapi-schema/missing-colon.err
@@ -1 +1 @@
tests/qapi-schema/missing-colon.json:1:10: Expected ":"
tests/qapi-schema/missing-colon.json:1:10: Expected ':'
2 changes: 1 addition & 1 deletion tests/qapi-schema/missing-comma-list.err
@@ -1 +1 @@
tests/qapi-schema/missing-comma-list.json:2:20: Expected "," or "]"
tests/qapi-schema/missing-comma-list.json:2:20: Expected ',' or ']'
2 changes: 1 addition & 1 deletion tests/qapi-schema/missing-comma-object.err
@@ -1 +1 @@
tests/qapi-schema/missing-comma-object.json:2:3: Expected "," or "}"
tests/qapi-schema/missing-comma-object.json:2:3: Expected ',' or '}'
2 changes: 1 addition & 1 deletion tests/qapi-schema/non-objects.err
@@ -1 +1 @@
tests/qapi-schema/non-objects.json:1:1: Expected "{"
tests/qapi-schema/non-objects.json:1:1: Expected '{'
2 changes: 1 addition & 1 deletion tests/qapi-schema/quoted-structural-chars.err
@@ -1 +1 @@
tests/qapi-schema/quoted-structural-chars.json:1:1: Expected "{"
tests/qapi-schema/quoted-structural-chars.json:1:1: Expected '{'
2 changes: 1 addition & 1 deletion tests/qapi-schema/trailing-comma-list.err
@@ -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'
2 changes: 1 addition & 1 deletion tests/qapi-schema/unclosed-list.err
@@ -1 +1 @@
tests/qapi-schema/unclosed-list.json:1:20: Expected "," or "]"
tests/qapi-schema/unclosed-list.json:1:20: Expected ',' or ']'
2 changes: 1 addition & 1 deletion tests/qapi-schema/unclosed-object.err
@@ -1 +1 @@
tests/qapi-schema/unclosed-object.json:1:21: Expected "," or "}"
tests/qapi-schema/unclosed-object.json:1:21: Expected ',' or '}'

0 comments on commit 9f5e6b0

Please sign in to comment.