From nobody Sat Oct 25 21:42:19 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1521615436911305.43374084296033; Tue, 20 Mar 2018 23:57:16 -0700 (PDT) Received: from localhost ([::1]:53199 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyXgR-0007yd-SN for importer@patchew.org; Wed, 21 Mar 2018 02:57:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58144) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyXed-00073L-NJ for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyXea-0005hg-Fn for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:23 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:43138 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eyXea-0005hP-9B for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:20 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7AE4640267D7; Wed, 21 Mar 2018 06:55:17 +0000 (UTC) Received: from xz-mi.nay.redhat.com (dhcp-14-151.nay.redhat.com [10.66.14.151]) by smtp.corp.redhat.com (Postfix) with ESMTP id 187E61101E88; Wed, 21 Mar 2018 06:55:14 +0000 (UTC) From: Peter Xu To: qemu-devel@nongnu.org Date: Wed, 21 Mar 2018 14:55:04 +0800 Message-Id: <20180321065506.21091-2-peterx@redhat.com> In-Reply-To: <20180321065506.21091-1-peterx@redhat.com> References: <20180321065506.21091-1-peterx@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Wed, 21 Mar 2018 06:55:17 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Wed, 21 Mar 2018 06:55:17 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'peterx@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PATCH 1/3] tests: let qapi-schema tests detect oob X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mdroth@linux.vnet.ibm.com, peterx@redhat.com, Markus Armbruster Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The allow_oob parameter was passed in but not used in tests. Now reflect that in the tests, so we need to touch up other command testers with that new change. Signed-off-by: Peter Xu Reviewed-by: Eric Blake --- tests/qapi-schema/doc-good.out | 4 ++-- tests/qapi-schema/ident-with-escape.out | 2 +- tests/qapi-schema/indented-expr.out | 4 ++-- tests/qapi-schema/qapi-schema-test.out | 18 +++++++++--------- tests/qapi-schema/test-qapi.py | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/qapi-schema/doc-good.out b/tests/qapi-schema/doc-good.out index 430b5a87db..63058b1590 100644 --- a/tests/qapi-schema/doc-good.out +++ b/tests/qapi-schema/doc-good.out @@ -28,9 +28,9 @@ object q_obj_cmd-arg member arg2: str optional=3DTrue member arg3: bool optional=3DFalse command cmd q_obj_cmd-arg -> Object - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse command cmd-boxed Object -> None - gen=3DTrue success_response=3DTrue boxed=3DTrue + gen=3DTrue success_response=3DTrue boxed=3DTrue oob=3DFalse doc freeform body=3D =3D Section diff --git a/tests/qapi-schema/ident-with-escape.out b/tests/qapi-schema/id= ent-with-escape.out index ee3b34e623..82213aa51d 100644 --- a/tests/qapi-schema/ident-with-escape.out +++ b/tests/qapi-schema/ident-with-escape.out @@ -5,4 +5,4 @@ module ident-with-escape.json object q_obj_fooA-arg member bar1: str optional=3DFalse command fooA q_obj_fooA-arg -> None - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse diff --git a/tests/qapi-schema/indented-expr.out b/tests/qapi-schema/indent= ed-expr.out index a79935e8c3..862678f8f4 100644 --- a/tests/qapi-schema/indented-expr.out +++ b/tests/qapi-schema/indented-expr.out @@ -3,6 +3,6 @@ enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'q= list', 'qbool'] prefix QTYPE module indented-expr.json command eins None -> None - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse command zwei None -> None - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse diff --git a/tests/qapi-schema/qapi-schema-test.out b/tests/qapi-schema/qap= i-schema-test.out index 012e7fc06a..4f43370017 100644 --- a/tests/qapi-schema/qapi-schema-test.out +++ b/tests/qapi-schema/qapi-schema-test.out @@ -16,7 +16,7 @@ object Empty1 object Empty2 base Empty1 command user_def_cmd0 Empty2 -> Empty2 - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse enum QEnumTwo ['value1', 'value2'] prefix QENUM_TWO object UserDefOne @@ -143,29 +143,29 @@ object UserDefNativeListUnion case sizes: q_obj_sizeList-wrapper case any: q_obj_anyList-wrapper command user_def_cmd None -> None - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse object q_obj_user_def_cmd1-arg member ud1a: UserDefOne optional=3DFalse command user_def_cmd1 q_obj_user_def_cmd1-arg -> None - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse object q_obj_user_def_cmd2-arg member ud1a: UserDefOne optional=3DFalse member ud1b: UserDefOne optional=3DTrue command user_def_cmd2 q_obj_user_def_cmd2-arg -> UserDefTwo - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse object q_obj_guest-get-time-arg member a: int optional=3DFalse member b: int optional=3DTrue command guest-get-time q_obj_guest-get-time-arg -> int - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse object q_obj_guest-sync-arg member arg: any optional=3DFalse command guest-sync q_obj_guest-sync-arg -> any - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse command boxed-struct UserDefZero -> None - gen=3DTrue success_response=3DTrue boxed=3DTrue + gen=3DTrue success_response=3DTrue boxed=3DTrue oob=3DFalse command boxed-union UserDefNativeListUnion -> None - gen=3DTrue success_response=3DTrue boxed=3DTrue + gen=3DTrue success_response=3DTrue boxed=3DTrue oob=3DFalse object UserDefOptions member i64: intList optional=3DTrue member u64: uint64List optional=3DTrue @@ -229,4 +229,4 @@ object q_obj___org.qemu_x-command-arg member c: __org.qemu_x-Union2 optional=3DFalse member d: __org.qemu_x-Alt optional=3DFalse command __org.qemu_x-command q_obj___org.qemu_x-command-arg -> __org.qemu_= x-Union1 - gen=3DTrue success_response=3DTrue boxed=3DFalse + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DFalse diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py index 10e68b01d9..c1a144ba29 100644 --- a/tests/qapi-schema/test-qapi.py +++ b/tests/qapi-schema/test-qapi.py @@ -45,8 +45,8 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): gen, success_response, boxed, allow_oob): print('command %s %s -> %s' % \ (name, arg_type and arg_type.name, ret_type and ret_type.nam= e)) - print(' gen=3D%s success_response=3D%s boxed=3D%s' % \ - (gen, success_response, boxed)) + print(' gen=3D%s success_response=3D%s boxed=3D%s oob=3D%s' % \ + (gen, success_response, boxed, allow_oob)) =20 def visit_event(self, name, info, arg_type, boxed): print('event %s %s' % (name, arg_type and arg_type.name)) --=20 2.14.3 From nobody Sat Oct 25 21:42:19 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 152161543691318.21316772441969; Tue, 20 Mar 2018 23:57:16 -0700 (PDT) Received: from localhost ([::1]:53197 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyXgJ-0007tr-0a for importer@patchew.org; Wed, 21 Mar 2018 02:57:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58143) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyXed-00073K-N7 for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyXea-0005hs-Mr for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:23 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:33660 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eyXea-0005hW-Bn for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:20 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D9FA34270951; Wed, 21 Mar 2018 06:55:19 +0000 (UTC) Received: from xz-mi.nay.redhat.com (dhcp-14-151.nay.redhat.com [10.66.14.151]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0039F10EE850; Wed, 21 Mar 2018 06:55:17 +0000 (UTC) From: Peter Xu To: qemu-devel@nongnu.org Date: Wed, 21 Mar 2018 14:55:05 +0800 Message-Id: <20180321065506.21091-3-peterx@redhat.com> In-Reply-To: <20180321065506.21091-1-peterx@redhat.com> References: <20180321065506.21091-1-peterx@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 21 Mar 2018 06:55:19 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 21 Mar 2018 06:55:19 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'peterx@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PATCH 2/3] tests: add oob-test for qapi-schema X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mdroth@linux.vnet.ibm.com, peterx@redhat.com, Markus Armbruster Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" It simply tests the new OOB capability, and make sure the QAPISchema can parse it correctly. Signed-off-by: Peter Xu --- tests/Makefile.include | 1 + tests/qapi-schema/oob-test.err | 0 tests/qapi-schema/oob-test.exit | 1 + tests/qapi-schema/oob-test.json | 2 ++ tests/qapi-schema/oob-test.out | 6 ++++++ 5 files changed, 10 insertions(+) create mode 100644 tests/qapi-schema/oob-test.err create mode 100644 tests/qapi-schema/oob-test.exit create mode 100644 tests/qapi-schema/oob-test.json create mode 100644 tests/qapi-schema/oob-test.out diff --git a/tests/Makefile.include b/tests/Makefile.include index 0b277036df..059523e2d1 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -523,6 +523,7 @@ qapi-schema +=3D missing-comma-object.json qapi-schema +=3D missing-type.json qapi-schema +=3D nested-struct-data.json qapi-schema +=3D non-objects.json +qapi-schema +=3D oob-test.json qapi-schema +=3D pragma-doc-required-crap.json qapi-schema +=3D pragma-extra-junk.json qapi-schema +=3D pragma-name-case-whitelist-crap.json diff --git a/tests/qapi-schema/oob-test.err b/tests/qapi-schema/oob-test.err new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/qapi-schema/oob-test.exit b/tests/qapi-schema/oob-test.e= xit new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/qapi-schema/oob-test.exit @@ -0,0 +1 @@ +0 diff --git a/tests/qapi-schema/oob-test.json b/tests/qapi-schema/oob-test.j= son new file mode 100644 index 0000000000..096c34b2fb --- /dev/null +++ b/tests/qapi-schema/oob-test.json @@ -0,0 +1,2 @@ +# Some Out-Of-Band specific tests +{ 'command': 'an-oob-command', 'allow-oob': true } diff --git a/tests/qapi-schema/oob-test.out b/tests/qapi-schema/oob-test.out new file mode 100644 index 0000000000..ce5a130dcf --- /dev/null +++ b/tests/qapi-schema/oob-test.out @@ -0,0 +1,6 @@ +object q_empty +enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool'] + prefix QTYPE +module oob-test.json +command an-oob-command None -> None + gen=3DTrue success_response=3DTrue boxed=3DFalse oob=3DTrue --=20 2.14.3 From nobody Sat Oct 25 21:42:19 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1521615520068411.1596006066086; Tue, 20 Mar 2018 23:58:40 -0700 (PDT) Received: from localhost ([::1]:53205 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyXhn-0000de-Br for importer@patchew.org; Wed, 21 Mar 2018 02:58:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58150) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyXee-00073V-0Q for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyXed-0005il-1A for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:24 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:53110 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eyXec-0005iS-P9 for qemu-devel@nongnu.org; Wed, 21 Mar 2018 02:55:22 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 498B8F641F; Wed, 21 Mar 2018 06:55:22 +0000 (UTC) Received: from xz-mi.nay.redhat.com (dhcp-14-151.nay.redhat.com [10.66.14.151]) by smtp.corp.redhat.com (Postfix) with ESMTP id 636911101E88; Wed, 21 Mar 2018 06:55:20 +0000 (UTC) From: Peter Xu To: qemu-devel@nongnu.org Date: Wed, 21 Mar 2018 14:55:06 +0800 Message-Id: <20180321065506.21091-4-peterx@redhat.com> In-Reply-To: <20180321065506.21091-1-peterx@redhat.com> References: <20180321065506.21091-1-peterx@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 21 Mar 2018 06:55:22 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 21 Mar 2018 06:55:22 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'peterx@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PATCH 3/3] tests: more strict command batching test X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mdroth@linux.vnet.ibm.com, peterx@redhat.com, Markus Armbruster Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add "id" fields to the commands, and check that the command returns are in order. Signed-off-by: Peter Xu --- tests/qmp-test.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/qmp-test.c b/tests/qmp-test.c index 07c0b87e27..c861c3b550 100644 --- a/tests/qmp-test.c +++ b/tests/qmp-test.c @@ -83,6 +83,7 @@ static void test_qmp_protocol(void) const QListEntry *entry; QString *qstr; int i; + char buf[128]; =20 qts =3D qtest_init_without_qmp_handshake(common_args); =20 @@ -150,7 +151,10 @@ static void test_qmp_protocol(void) * best-effort test. */ for (i =3D 0; i < 16; i++) { - qtest_async_qmp(qts, "{ 'execute': 'query-version' }"); + snprintf(buf, sizeof(buf) - 1, "{ 'execute': 'query-version', " + "'id': %d }", i); + buf[sizeof(buf) - 1] =3D '\0'; + qtest_async_qmp(qts, buf); } /* Verify the replies to make sure no command is dropped. */ for (i =3D 0; i < 16; i++) { @@ -158,6 +162,8 @@ static void test_qmp_protocol(void) /* It should never be dropped. Each of them should be a reply. */ g_assert(qdict_haskey(resp, "return")); g_assert(!qdict_haskey(resp, "event")); + g_assert(qdict_haskey(resp, "id")); + g_assert(qdict_get_int(resp, "id") =3D=3D i); QDECREF(resp); } =20 --=20 2.14.3