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 <ebl...@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 diff --git a/scripts/qapi.py b/scripts/qapi.py index ae1f935..7cf1db0 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -56,9 +56,6 @@ returns_whitelist = [ 'guest-set-vcpus', 'guest-sync', 'guest-sync-delimited', - - # From qapi-schema-test: - 'user_def_cmd3', ] enum_types = [] diff --git a/tests/Makefile b/tests/Makefile index f3626bd..e3eb547 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -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 diff --git a/tests/qapi-schema/qapi-schema-test.json b/tests/qapi-schema/qapi-schema-test.json index 758bfc8..27ad961 100644 --- a/tests/qapi-schema/qapi-schema-test.json +++ b/tests/qapi-schema/qapi-schema-test.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 diff --git a/tests/qapi-schema/qapi-schema-test.out b/tests/qapi-schema/qapi-schema-test.out index 6b5a048..06d0551 100644 --- a/tests/qapi-schema/qapi-schema-test.out +++ b/tests/qapi-schema/qapi-schema-test.out @@ -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 diff --git a/tests/qapi-schema/returns-int.err b/tests/qapi-schema/returns-int.err deleted file mode 100644 index e69de29..0000000 diff --git a/tests/qapi-schema/returns-int.exit b/tests/qapi-schema/returns-int.exit deleted file mode 100644 index 573541a..0000000 --- a/tests/qapi-schema/returns-int.exit +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/tests/qapi-schema/returns-int.json b/tests/qapi-schema/returns-int.json deleted file mode 100644 index 870ec63..0000000 --- a/tests/qapi-schema/returns-int.json +++ /dev/null @@ -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' } diff --git a/tests/qapi-schema/returns-int.out b/tests/qapi-schema/returns-int.out deleted file mode 100644 index a2da259..0000000 --- a/tests/qapi-schema/returns-int.out +++ /dev/null @@ -1,3 +0,0 @@ -object :empty -command guest-get-time None -> int - gen=True success_response=True diff --git a/tests/test-qmp-commands.c b/tests/test-qmp-commands.c index 8d5249e..bc59835 100644 --- a/tests/test-qmp-commands.c +++ b/tests/test-qmp-commands.c @@ -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); -- 2.4.3