From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60918) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjEZ7-00041k-Oz for qemu-devel@nongnu.org; Mon, 05 Oct 2015 18:49:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZjEZ4-0008R8-H4 for qemu-devel@nongnu.org; Mon, 05 Oct 2015 18:49:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46472) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjEZ4-0008Qw-A1 for qemu-devel@nongnu.org; Mon, 05 Oct 2015 18:49:02 -0400 References: <1443497249-15361-1-git-send-email-eblake@redhat.com> <1443497249-15361-9-git-send-email-eblake@redhat.com> <87k2r9ibw9.fsf@blackfin.pond.sub.org> From: Eric Blake Message-ID: <5612FE5C.9050709@redhat.com> Date: Mon, 5 Oct 2015 16:49:00 -0600 MIME-Version: 1.0 In-Reply-To: <87k2r9ibw9.fsf@blackfin.pond.sub.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Ewa9xPmuIUmJfxHdqvHkiQkgkgGQGC6l8" Subject: Re: [Qemu-devel] [PATCH v6 08/16] qapi: Test use of 'number' within alternates List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: marcandre.lureau@redhat.com, qemu-devel@nongnu.org, ehabkost@redhat.com, Michael Roth This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Ewa9xPmuIUmJfxHdqvHkiQkgkgGQGC6l8 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/29/2015 07:38 AM, Markus Armbruster wrote: > Eric Blake writes: >=20 >> Add some testsuite exposure for use of a 'number' as part of >> an alternate. The current state of the tree has a few bugs >> exposed by this: our input parser depends on the ordering of >> how the qapi schema declared the alternate, and the parser >> does not accept integers for a 'number' in an alternate even >> though it does for numbers outside of an alternate. >> >> Mixing 'int' and 'number' in the same alternate is unusual, >> since both are supplied by json-numbers, but there does not >> seem to be a technical reason to forbid it given that our >> json lexer distinguishes between json-numbers that can be >> represented as an int vs. those that cannot. >> >> Improve the existing test_visitor_in_alternate() to match the >> style of the new test_visitor_in_alternate_number(), and to >> ensure full coverage of all possible qtype parsing. >> >> Signed-off-by: Eric Blake >> >> +++ b/tests/test-qmp-input-visitor.c >> @@ -371,12 +371,133 @@ static void test_visitor_in_alternate(TestInput= VisitorData *data, >> UserDefAlternate *tmp; >> >> v =3D visitor_input_test_init(data, "42"); >> - >> - visit_type_UserDefAlternate(v, &tmp, NULL, &err); >> - g_assert(err =3D=3D NULL); >> + visit_type_UserDefAlternate(v, &tmp, NULL, &error_abort); >> g_assert_cmpint(tmp->kind, =3D=3D, USER_DEF_ALTERNATE_KIND_I); >> g_assert_cmpint(tmp->i, =3D=3D, 42); >> qapi_free_UserDefAlternate(tmp); >> + visitor_input_teardown(data, NULL); >=20 > Ugly in this test: visitor_input_test_init() is to be paired with > visitor_input_teardown(), but each test's last visitor_input_teardown()= > can be omitted, because we also pass visitor_input_teardown to > g_test_add(). Not your patch's fault. Let's ignore it for now. In fact, I have another patch coming down the pipeline that moves visitor_input_teardown() into visitor_input_test_init() (teardown is idempotent. And while working on it, I noticed that we could consider doing something like: init(data, ...); func(blah, &data->err); g_assert(data->err); teardown(data); to let teardown() take care of err, instead of having to manually error_free(err); err =3D NULL; on each reset (particularly nice if visitor_input_test_init() invokes teardown() itself, for automatic reset semantics). --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --Ewa9xPmuIUmJfxHdqvHkiQkgkgGQGC6l8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJWEv5dAAoJEKeha0olJ0NqlTcH/jnfiq7QcHAnaebQ7RrmiYfn /gTYWrXcMGABGVUAgY04OzFpOTy+LyexV89nNZZirQAETn85U0siA92kUnvQbDwk QjkPOJqAML+oRGmsz+t2iJ9y2A+EhoqdrOQAUneJw3+MjjlM9Z1Op011gK+XdcJ+ VelCVqX5NnpW8J7bwoISXElJnGgCfkVfpcsXi6J6DVtXiky2A2gzXQRDNX3x4OnK ybGAVA1A70oHVi6Dktg4D3PRH7jUb5OuL/hi02aHSJtlbjNqzqRx/k+LOCst4i7W EOGqSoDpG5/64+vpWuYbUy+P2PsGl+mLE4topDnAWQjQv7X6fKXTPm2rU5dHGUE= =yXKs -----END PGP SIGNATURE----- --Ewa9xPmuIUmJfxHdqvHkiQkgkgGQGC6l8--