[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