[libvirt] [PATCH 2/3] tests: eventtest: Open code virtTestResult

Martin Kletzander mkletzan at redhat.com
Wed Sep 30 05:38:58 UTC 2015


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.

P.S.: If you'd really like, I think this test could be made to use
virTestRun as well ;)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150930/c863eb83/attachment-0001.sig>


More information about the libvir-list mailing list