[libvirt] [PATCH 01/55] tests: qemumonitorjson: Simplify debugging of 'blockInfo' test

Peter Krempa pkrempa at redhat.com
Tue Aug 7 14:21:52 UTC 2018


Print the differences in case when the expected data does not match.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 tests/qemumonitorjsontest.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 1826c4f297..800c26240e 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -1585,12 +1585,29 @@ testQemuMonitorJSONqemuMonitorJSONGetVirtType(const void *data)
     return ret;
 }

+
+static void
+testQemuMonitorJSONGetBlockInfoPrint(const struct qemuDomainDiskInfo *d)
+{
+    VIR_TEST_VERBOSE("removable: %d, tray: %d, tray_open: %d, empty: %d, "
+                     "io_status: %d, nodename: '%s'\n",
+                     d->removable, d->tray, d->tray_open, d->empty,
+                     d->io_status, NULLSTR(d->nodename));
+}
+
+
 static int
 testHashEqualQemuDomainDiskInfo(const void *value1, const void *value2)
 {
     const struct qemuDomainDiskInfo *info1 = value1, *info2 = value2;
+    int ret;
+
+    if ((ret = memcmp(info1, info2, sizeof(*info1))) != 0) {
+        testQemuMonitorJSONGetBlockInfoPrint(info1);
+        testQemuMonitorJSONGetBlockInfoPrint(info2);
+    }

-    return memcmp(info1, info2, sizeof(*info1));
+    return ret;
 }

 static int
-- 
2.16.2




More information about the libvir-list mailing list