diff options
| author | John Snow <jsnow@redhat.com> | 2021-05-19 14:39:42 -0400 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2021-05-20 11:28:28 +0200 |
| commit | 9cd0205d553bc27a66454782dfc5d7e8d2324e34 (patch) | |
| tree | f5465aeacfc9aab0130e399bc4645679245daf9e /tests | |
| parent | 7c610ce6a9950a49148fc3d37ed353958ca8d776 (diff) | |
| download | focaccia-qemu-9cd0205d553bc27a66454782dfc5d7e8d2324e34.tar.gz focaccia-qemu-9cd0205d553bc27a66454782dfc5d7e8d2324e34.zip | |
qapi/parser: enforce all top-level expressions must be dict in _parse()
Instead of using get_expr nested=False, allow get_expr to always return any expression. In exchange, add a new error message to the top-level parser that explains the semantic error: Top-level expressions must always be JSON objects. This helps mypy understand the rest of this function which assumes that get_expr did indeed return a dict. The exception type changes from QAPIParseError to QAPISemError as a result, and the error message in two tests now changes. Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20210519183951.3946870-7-jsnow@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/qapi-schema/non-objects.err | 2 | ||||
| -rw-r--r-- | tests/qapi-schema/quoted-structural-chars.err | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/tests/qapi-schema/non-objects.err b/tests/qapi-schema/non-objects.err index 3a4ea36966..23bdb69c71 100644 --- a/tests/qapi-schema/non-objects.err +++ b/tests/qapi-schema/non-objects.err @@ -1 +1 @@ -non-objects.json:1:1: expected '{' +non-objects.json:1: top-level expression must be an object diff --git a/tests/qapi-schema/quoted-structural-chars.err b/tests/qapi-schema/quoted-structural-chars.err index 07d1561d1f..af6c1e173d 100644 --- a/tests/qapi-schema/quoted-structural-chars.err +++ b/tests/qapi-schema/quoted-structural-chars.err @@ -1 +1 @@ -quoted-structural-chars.json:1:1: expected '{' +quoted-structural-chars.json:1: top-level expression must be an object |