[libvirt] [PATCH 2/3] tests: eventtest: Open code virtTestResult
Cole Robinson
crobinso at redhat.com
Wed Sep 30 17:43:56 UTC 2015
On 09/30/2015 01:38 AM, Martin Kletzander wrote:
> On Tue, Sep 29, 2015 at 07:56:46PM -0400, Cole Robinson wrote:
>> These event tests aren't run synchronously, so there isn't an obvious
>> function to pass to virtTestRun. Instead, open code roughly what
>> virtTestResult did before: printing an error message if a test failed.
>> ---
>> tests/eventtest.c | 57 +++++++++++++++++++++++++++++++++++++++++++++----------
>> 1 file changed, 47 insertions(+), 10 deletions(-)
>>
>> diff --git a/tests/eventtest.c b/tests/eventtest.c
>> index 13adbf6..ab08181 100644
>> --- a/tests/eventtest.c
>> +++ b/tests/eventtest.c
>> @@ -63,6 +63,43 @@ enum {
>> EV_ERROR_DATA,
>> };
>>
>> +struct testEventResultData {
>> + bool failed;
>> + const char *msg;
>> +};
>> +
>> +static int
>> +testEventResultCallback(const void *opaque)
>> +{
>> + const struct testEventResultData *data = opaque;
>> +
>> + if (data->failed && data->msg) {
>> + fprintf(stderr, "%s", data->msg);
>> + }
>> + return data->failed;
>> +}
>> +
>> +static void
>> +ATTRIBUTE_FMT_PRINTF(3,4)
>> +testEventReport(const char *name, bool failed, const char *msg, ...)
>> +{
>> + va_list vargs;
>> + va_start(vargs, msg);
>> + char *str = NULL;
>> + struct testEventResultData data;
>> +
>> + if (msg && virVasprintfQuiet(&str, msg, vargs) != 0) {
>> + failed = true;
>> + }
>> +
>> + data.failed = failed;
>> + data.msg = msg;
>
> I think you meant data.msg = str; here.
>
> ACK with that changed and your amendment squashed in.
>
Changed locally, thanks for the review. I'll push after the release
> P.S.: If you'd really like, I think this test could be made to use
> virTestRun as well ;)
Maybe for another patch :)
- Cole
More information about the libvir-list
mailing list