@@ -56,9 +56,6 @@ returns_whitelist = [
'guest-set-vcpus',
'guest-sync',
'guest-sync-delimited',
-
- # From qapi-schema-test:
- 'user_def_cmd3',
]
enum_types = []
@@ -319,7 +319,6 @@ qapi-schema += redefined-type.json
qapi-schema += returns-alternate.json
qapi-schema += returns-array-bad.json
qapi-schema += returns-dict.json
-qapi-schema += returns-int.json
qapi-schema += returns-unknown.json
qapi-schema += returns-whitelist.json
qapi-schema += struct-base-clash-base.json
@@ -108,9 +108,10 @@
{ 'command': 'user_def_cmd2',
'data': {'ud1a': 'UserDefOne', '*ud1b': 'UserDefOne'},
'returns': 'UserDefTwo' }
-{ 'command': 'user_def_cmd3', 'data': {'a': 'int', '*b': 'int' },
+
+# Returning a non-dictionary requires a name from the whitelist
+{ 'command': 'guest-get-time', 'data': {'a': 'int', '*b': 'int' },
'returns': 'int' }
-# note: command name 'guest-sync' chosen to avoid "cannot use built-in" error
{ 'command': 'guest-sync', 'data': { 'arg': 'any' }, 'returns': 'any' }
# For testing integer range flattening in opts-visitor. The following schema
@@ -17,6 +17,9 @@ object :obj-anyList wrapper
member data: anyList optional=False
object :obj-boolList wrapper
member data: boolList optional=False
+object :obj-guest-get-time arguments
+ member a: int optional=False
+ member b: int optional=True
object :obj-guest-sync arguments
member arg: any optional=False
object :obj-int16List wrapper
@@ -50,9 +53,6 @@ object :obj-user_def_cmd1 arguments
object :obj-user_def_cmd2 arguments
member ud1a: UserDefOne optional=False
member ud1b: UserDefOne optional=True
-object :obj-user_def_cmd3 arguments
- member a: int optional=False
- member b: int optional=True
alternate AltIntNum
case i: int
case n: number
@@ -187,6 +187,8 @@ object __org.qemu_x-Union2
case __org.qemu_x-value: __org.qemu_x-Struct2
command __org.qemu_x-command :obj-__org.qemu_x-command arguments -> __org.qemu_x-Union1
gen=True success_response=True
+command guest-get-time :obj-guest-get-time arguments -> int
+ gen=True success_response=True
command guest-sync :obj-guest-sync arguments -> any
gen=True success_response=True
command user_def_cmd None -> None
@@ -195,5 +197,3 @@ command user_def_cmd1 :obj-user_def_cmd1 arguments -> None
gen=True success_response=True
command user_def_cmd2 :obj-user_def_cmd2 arguments -> UserDefTwo
gen=True success_response=True
-command user_def_cmd3 :obj-user_def_cmd3 arguments -> int
- gen=True success_response=True
deleted file mode 100644
deleted file mode 100644
@@ -1 +0,0 @@
-0
deleted file mode 100644
@@ -1,3 +0,0 @@
-# It is okay (although not extensible) to return a non-dictionary
-# But to make it work, the name must be in a whitelist
-{ 'command': 'guest-get-time', 'returns': 'int' }
deleted file mode 100644
@@ -1,3 +0,0 @@
-object :empty
-command guest-get-time None -> int
- gen=True success_response=True
@@ -46,7 +46,7 @@ UserDefTwo *qmp_user_def_cmd2(UserDefOne *ud1a,
return ret;
}
-int64_t qmp_user_def_cmd3(int64_t a, bool has_b, int64_t b, Error **errp)
+int64_t qmp_guest_get_time(int64_t a, bool has_b, int64_t b, Error **errp)
{
return a + (has_b ? b : 0);
}
@@ -160,7 +160,7 @@ static void test_dispatch_cmd_io(void)
qdict_put(args3, "a", qint_from_int(66));
qdict_put(req, "arguments", args3);
- qdict_put(req, "execute", qstring_from_str("user_def_cmd3"));
+ qdict_put(req, "execute", qstring_from_str("guest-get-time"));
ret3 = qobject_to_qint(test_qmp_dispatch(req));
assert(qint_get_int(ret3) == 66);
qapi-schema-test was already testing that we could have a command returning int, but burned a command name in the whitelist. Merge the redundant positive test returns-int, and pick a name that reduces the whitelist size. Signed-off-by: Eric Blake <eblake@redhat.com> --- v6: new patch; could be hoisted earlier alongside subset B v7 3/17 --- scripts/qapi.py | 3 --- tests/Makefile | 1 - tests/qapi-schema/qapi-schema-test.json | 5 +++-- tests/qapi-schema/qapi-schema-test.out | 10 +++++----- tests/qapi-schema/returns-int.err | 0 tests/qapi-schema/returns-int.exit | 1 - tests/qapi-schema/returns-int.json | 3 --- tests/qapi-schema/returns-int.out | 3 --- tests/test-qmp-commands.c | 4 ++-- 9 files changed, 10 insertions(+), 20 deletions(-) delete mode 100644 tests/qapi-schema/returns-int.err delete mode 100644 tests/qapi-schema/returns-int.exit delete mode 100644 tests/qapi-schema/returns-int.json delete mode 100644 tests/qapi-schema/returns-int.out