qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 30/31] qapi: Fix errors for non-string, non-dictiona


From: Markus Armbruster
Subject: [Qemu-devel] [PATCH 30/31] qapi: Fix errors for non-string, non-dictionary members
Date: Mon, 31 Aug 2015 17:55:32 +0200

Signed-off-by: Markus Armbruster <address@hidden>
---
 scripts/qapi.py                              | 10 ++++++----
 tests/qapi-schema/args-invalid.err           |  2 +-
 tests/qapi-schema/args-invalid.json          |  1 -
 tests/qapi-schema/struct-data-invalid.err    |  2 +-
 tests/qapi-schema/struct-data-invalid.json   |  1 -
 tests/qapi-schema/struct-member-invalid.err  |  2 +-
 tests/qapi-schema/struct-member-invalid.json |  1 -
 7 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 197db77..3656059 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -462,13 +462,15 @@ def check_type(expr_info, source, value, allow_array = 
False,
                                 % (source, all_names[value], orig_value))
         return
 
-    # value is a dictionary, check that each member is okay
-    if not isinstance(value, OrderedDict):
-        raise QAPIExprError(expr_info,
-                            "%s should be a dictionary" % source)
     if not allow_dict:
         raise QAPIExprError(expr_info,
                             "%s should be a type name" % source)
+
+    if not isinstance(value, OrderedDict):
+        raise QAPIExprError(expr_info,
+                            "%s should be a dictionary or type name" % source)
+
+    # value is a dictionary, check that each member is okay
     for (key, arg) in value.items():
         check_name(expr_info, "Member of %s" % source, key,
                    allow_optional=allow_optional)
diff --git a/tests/qapi-schema/args-invalid.err 
b/tests/qapi-schema/args-invalid.err
index 6d0fa05..fe1e949 100644
--- a/tests/qapi-schema/args-invalid.err
+++ b/tests/qapi-schema/args-invalid.err
@@ -1 +1 @@
-tests/qapi-schema/args-invalid.json:2: 'data' for command 'foo' should be a 
dictionary
+tests/qapi-schema/args-invalid.json:1: 'data' for command 'foo' should be a 
dictionary or type name
diff --git a/tests/qapi-schema/args-invalid.json 
b/tests/qapi-schema/args-invalid.json
index 4a64135..db09813 100644
--- a/tests/qapi-schema/args-invalid.json
+++ b/tests/qapi-schema/args-invalid.json
@@ -1,3 +1,2 @@
-# FIXME error "should be a dictionary" is misleading, type name is also fine
 { 'command': 'foo',
   'data': false }
diff --git a/tests/qapi-schema/struct-data-invalid.err 
b/tests/qapi-schema/struct-data-invalid.err
index a40e23a..6644f4c 100644
--- a/tests/qapi-schema/struct-data-invalid.err
+++ b/tests/qapi-schema/struct-data-invalid.err
@@ -1 +1 @@
-tests/qapi-schema/struct-data-invalid.json:2: 'data' for struct 'foo' should 
be a dictionary
+tests/qapi-schema/struct-data-invalid.json:1: 'data' for struct 'foo' should 
be a dictionary or type name
diff --git a/tests/qapi-schema/struct-data-invalid.json 
b/tests/qapi-schema/struct-data-invalid.json
index b76de82..9adbc3b 100644
--- a/tests/qapi-schema/struct-data-invalid.json
+++ b/tests/qapi-schema/struct-data-invalid.json
@@ -1,3 +1,2 @@
-# FIXME error "should be a dictionary" is misleading, type name is also fine
 { 'struct': 'foo',
   'data': false }
diff --git a/tests/qapi-schema/struct-member-invalid.err 
b/tests/qapi-schema/struct-member-invalid.err
index 9e4c7b8..69a326d 100644
--- a/tests/qapi-schema/struct-member-invalid.err
+++ b/tests/qapi-schema/struct-member-invalid.err
@@ -1 +1 @@
-tests/qapi-schema/struct-member-invalid.json:2: Member 'a' of 'data' for 
struct 'foo' should be a dictionary
+tests/qapi-schema/struct-member-invalid.json:1: Member 'a' of 'data' for 
struct 'foo' should be a type name
diff --git a/tests/qapi-schema/struct-member-invalid.json 
b/tests/qapi-schema/struct-member-invalid.json
index 968e63c..8f172f7 100644
--- a/tests/qapi-schema/struct-member-invalid.json
+++ b/tests/qapi-schema/struct-member-invalid.json
@@ -1,3 +1,2 @@
-# FIXME error message "should be a dictionary" is wrong, must be type name
 { 'struct': 'foo',
   'data': { 'a': false } }
-- 
2.4.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]