[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 07/12] qapi: Simplify error cleanup in test-qmp-*
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PULL 07/12] qapi: Simplify error cleanup in test-qmp-* |
Date: |
Mon, 9 Nov 2015 11:06:16 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/09/2015 10:46 AM, Markus Armbruster wrote:
> From: Eric Blake <address@hidden>
>
> We have several tests that perform multiple sub-actions that are
> expected to fail. Asserting that an error occurred, then clearing
> it up to prepare for the next action, turned into enough
> boilerplate that it was sometimes forgotten (for example, a number
> of tests added to test-qmp-input-visitor.c in d88f5fd leaked err).
> Worse, if an error is not reset to NULL, we risk invalidating
> later use of that error (passing a non-NULL err into a function
> is generally a bad idea). Encapsulate the boilerplate into a
> single helper function error_free_or_abort(), and consistently
> use it.
>
> The new function is added into error.c for use everywhere,
> although it is anticipated that testsuites will be the main
> client.
>
> Signed-off-by: Eric Blake <address@hidden>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> +++ b/include/qapi/error.h
> @@ -30,6 +30,10 @@
> * Handle an error without reporting it (just for completeness):
> * error_free(err);
> *
> + * Assert than an expected error occurred, but clean it up without
> + * reporting it (primarily useful in testsuites):
s/than/that/ (if the pull hasn't already gone through; otherwise it's a
trivial followup)
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PULL 09/12] qapi: Test failure in middle of array parse, (continued)
- [Qemu-devel] [PULL 09/12] qapi: Test failure in middle of array parse, Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 04/12] qapi: Share test_init code in test-qmp-input*, Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 01/12] qapi: Use generated TestStruct machinery in tests, Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 11/12] qapi: Provide nicer array names in introspection, Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 03/12] qobject: Protect against use-after-free in qobject_decref(), Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 10/12] qapi: More tests of input arrays, Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 05/12] qapi: Plug leaks in test-qmp-*, Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 08/12] qapi: More tests of alternate output, Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 12/12] qapi-introspect: Document lack of sorting, Markus Armbruster, 2015/11/09
- [Qemu-devel] [PULL 07/12] qapi: Simplify error cleanup in test-qmp-*, Markus Armbruster, 2015/11/09
- Re: [Qemu-devel] [PULL 07/12] qapi: Simplify error cleanup in test-qmp-*,
Eric Blake <=
- [Qemu-devel] [PULL 06/12] qapi: Simplify non-error testing in test-qmp-*, Markus Armbruster, 2015/11/09