On 11/09/2015 10:46 AM, Markus Armbruster wrote: > From: Eric Blake <ebl...@redhat.com> > > 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 <ebl...@redhat.com> > Signed-off-by: Markus Armbruster <arm...@redhat.com> > ---
> +++ 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