diff options
author | Markus Armbruster <armbru@redhat.com> | 2013-07-27 17:41:58 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-07-29 10:37:11 -0500 |
commit | 6974ccd542d11ae5fb1e56dd3d753f2de5cc097e (patch) | |
tree | 00acbbcc2817dbb6cef28f36504cdb115a9ef956 /tests/qapi-schema | |
parent | 9213aa5391f7c8d3766420d96888f1353af4c890 (diff) | |
download | qemu-6974ccd542d11ae5fb1e56dd3d753f2de5cc097e.zip qemu-6974ccd542d11ae5fb1e56dd3d753f2de5cc097e.tar.gz qemu-6974ccd542d11ae5fb1e56dd3d753f2de5cc097e.tar.bz2 |
qapi.py: Fix schema parser to check syntax systematically
Fixes at least the following parser bugs:
* accepts any token in place of a colon
* treats comma as optional
* crashes when closing braces or brackets are missing
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 1374939721-7876-7-git-send-email-armbru@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'tests/qapi-schema')
-rw-r--r-- | tests/qapi-schema/missing-colon.err | 1 | ||||
-rw-r--r-- | tests/qapi-schema/missing-colon.exit | 2 | ||||
-rw-r--r-- | tests/qapi-schema/missing-colon.out | 3 | ||||
-rw-r--r-- | tests/qapi-schema/missing-comma-list.err | 1 | ||||
-rw-r--r-- | tests/qapi-schema/missing-comma-list.exit | 2 | ||||
-rw-r--r-- | tests/qapi-schema/missing-comma-list.out | 3 | ||||
-rw-r--r-- | tests/qapi-schema/missing-comma-object.err | 1 | ||||
-rw-r--r-- | tests/qapi-schema/missing-comma-object.exit | 2 | ||||
-rw-r--r-- | tests/qapi-schema/missing-comma-object.out | 3 | ||||
-rw-r--r-- | tests/qapi-schema/trailing-comma-list.err | 1 | ||||
-rw-r--r-- | tests/qapi-schema/trailing-comma-list.exit | 2 | ||||
-rw-r--r-- | tests/qapi-schema/trailing-comma-list.out | 3 | ||||
-rw-r--r-- | tests/qapi-schema/trailing-comma-object.err | 1 | ||||
-rw-r--r-- | tests/qapi-schema/trailing-comma-object.exit | 2 | ||||
-rw-r--r-- | tests/qapi-schema/trailing-comma-object.out | 3 | ||||
-rw-r--r-- | tests/qapi-schema/unclosed-list.err | 2 | ||||
-rw-r--r-- | tests/qapi-schema/unclosed-object.err | 2 |
17 files changed, 12 insertions, 22 deletions
diff --git a/tests/qapi-schema/missing-colon.err b/tests/qapi-schema/missing-colon.err index e69de29..9f2a355 100644 --- a/tests/qapi-schema/missing-colon.err +++ b/tests/qapi-schema/missing-colon.err @@ -0,0 +1 @@ +<stdin>:1:10: Expected ":" diff --git a/tests/qapi-schema/missing-colon.exit b/tests/qapi-schema/missing-colon.exit index 573541a..d00491f 100644 --- a/tests/qapi-schema/missing-colon.exit +++ b/tests/qapi-schema/missing-colon.exit @@ -1 +1 @@ -0 +1 diff --git a/tests/qapi-schema/missing-colon.out b/tests/qapi-schema/missing-colon.out index e67068c..e69de29 100644 --- a/tests/qapi-schema/missing-colon.out +++ b/tests/qapi-schema/missing-colon.out @@ -1,3 +0,0 @@ -[OrderedDict([('enum', None), ('data', ['good', 'bad', 'ugly'])])] -[None] -[] diff --git a/tests/qapi-schema/missing-comma-list.err b/tests/qapi-schema/missing-comma-list.err index e69de29..4fe0700 100644 --- a/tests/qapi-schema/missing-comma-list.err +++ b/tests/qapi-schema/missing-comma-list.err @@ -0,0 +1 @@ +<stdin>:2:20: Expected "," or "]" diff --git a/tests/qapi-schema/missing-comma-list.exit b/tests/qapi-schema/missing-comma-list.exit index 573541a..d00491f 100644 --- a/tests/qapi-schema/missing-comma-list.exit +++ b/tests/qapi-schema/missing-comma-list.exit @@ -1 +1 @@ -0 +1 diff --git a/tests/qapi-schema/missing-comma-list.out b/tests/qapi-schema/missing-comma-list.out index e3bd904..e69de29 100644 --- a/tests/qapi-schema/missing-comma-list.out +++ b/tests/qapi-schema/missing-comma-list.out @@ -1,3 +0,0 @@ -[OrderedDict([('enum', 'Status'), ('data', ['good', 'bad', 'ugly'])])] -['Status'] -[] diff --git a/tests/qapi-schema/missing-comma-object.err b/tests/qapi-schema/missing-comma-object.err index e69de29..b0121b5 100644 --- a/tests/qapi-schema/missing-comma-object.err +++ b/tests/qapi-schema/missing-comma-object.err @@ -0,0 +1 @@ +<stdin>:2:3: Expected "," or "}" diff --git a/tests/qapi-schema/missing-comma-object.exit b/tests/qapi-schema/missing-comma-object.exit index 573541a..d00491f 100644 --- a/tests/qapi-schema/missing-comma-object.exit +++ b/tests/qapi-schema/missing-comma-object.exit @@ -1 +1 @@ -0 +1 diff --git a/tests/qapi-schema/missing-comma-object.out b/tests/qapi-schema/missing-comma-object.out index e3bd904..e69de29 100644 --- a/tests/qapi-schema/missing-comma-object.out +++ b/tests/qapi-schema/missing-comma-object.out @@ -1,3 +0,0 @@ -[OrderedDict([('enum', 'Status'), ('data', ['good', 'bad', 'ugly'])])] -['Status'] -[] diff --git a/tests/qapi-schema/trailing-comma-list.err b/tests/qapi-schema/trailing-comma-list.err index e69de29..ff839a3 100644 --- a/tests/qapi-schema/trailing-comma-list.err +++ b/tests/qapi-schema/trailing-comma-list.err @@ -0,0 +1 @@ +<stdin>:2:36: Expected "{", "[" or string diff --git a/tests/qapi-schema/trailing-comma-list.exit b/tests/qapi-schema/trailing-comma-list.exit index 573541a..d00491f 100644 --- a/tests/qapi-schema/trailing-comma-list.exit +++ b/tests/qapi-schema/trailing-comma-list.exit @@ -1 +1 @@ -0 +1 diff --git a/tests/qapi-schema/trailing-comma-list.out b/tests/qapi-schema/trailing-comma-list.out index e3bd904..e69de29 100644 --- a/tests/qapi-schema/trailing-comma-list.out +++ b/tests/qapi-schema/trailing-comma-list.out @@ -1,3 +0,0 @@ -[OrderedDict([('enum', 'Status'), ('data', ['good', 'bad', 'ugly'])])] -['Status'] -[] diff --git a/tests/qapi-schema/trailing-comma-object.err b/tests/qapi-schema/trailing-comma-object.err index e69de29..f540962 100644 --- a/tests/qapi-schema/trailing-comma-object.err +++ b/tests/qapi-schema/trailing-comma-object.err @@ -0,0 +1 @@ +<stdin>:2:38: Expected string diff --git a/tests/qapi-schema/trailing-comma-object.exit b/tests/qapi-schema/trailing-comma-object.exit index 573541a..d00491f 100644 --- a/tests/qapi-schema/trailing-comma-object.exit +++ b/tests/qapi-schema/trailing-comma-object.exit @@ -1 +1 @@ -0 +1 diff --git a/tests/qapi-schema/trailing-comma-object.out b/tests/qapi-schema/trailing-comma-object.out index e3bd904..e69de29 100644 --- a/tests/qapi-schema/trailing-comma-object.out +++ b/tests/qapi-schema/trailing-comma-object.out @@ -1,3 +0,0 @@ -[OrderedDict([('enum', 'Status'), ('data', ['good', 'bad', 'ugly'])])] -['Status'] -[] diff --git a/tests/qapi-schema/unclosed-list.err b/tests/qapi-schema/unclosed-list.err index f9a9c2a..0e837a7 100644 --- a/tests/qapi-schema/unclosed-list.err +++ b/tests/qapi-schema/unclosed-list.err @@ -1 +1 @@ -Crashed: <type 'exceptions.IndexError'> +<stdin>:1:20: Expected "," or "]" diff --git a/tests/qapi-schema/unclosed-object.err b/tests/qapi-schema/unclosed-object.err index f9a9c2a..e6dc950 100644 --- a/tests/qapi-schema/unclosed-object.err +++ b/tests/qapi-schema/unclosed-object.err @@ -1 +1 @@ -Crashed: <type 'exceptions.IndexError'> +<stdin>:1:21: Expected "," or "}" |