Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
tests/qemumonitorjsontest.c | 30 ++++++++++++++++++++++++------
1 file changed, 24 insertions(+), 6 deletions(-)
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 278d7ba765..99198de0ed 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -2047,7 +2047,7 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationCapabilities(const
void *opaque)
{
const testGenericData *data = opaque;
virDomainXMLOption *xmlopt = data->xmlopt;
- const char *cap;
+ size_t cap;
g_auto(GStrv) caps = NULL;
g_autoptr(virBitmap) bitmap = NULL;
g_autoptr(virJSONValue) json = NULL;
@@ -2057,6 +2057,10 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationCapabilities(const
void *opaque)
" {"
" \"state\": false,"
" \"capability\": \"xbzrle\""
+ " },"
+ " {"
+ " \"state\": true,"
+ " \"capability\": \"events\""
" }"
" ],"
" \"id\": \"libvirt-22\""
@@ -2075,11 +2079,25 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationCapabilities(const
void *opaque)
&caps) < 0)
return -1;
- cap = qemuMigrationCapabilityTypeToString(QEMU_MIGRATION_CAP_XBZRLE);
- if (!g_strv_contains((const char **) caps, cap)) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- "Expected capability %s is missing", cap);
- return -1;
+ for (cap = 0; cap < QEMU_MIGRATION_CAP_LAST; cap++) {
+ const char *capStr = qemuMigrationCapabilityTypeToString(cap);
+ bool present = g_strv_contains((const char **) caps, capStr);
+
+ switch (cap) {
+ case QEMU_MIGRATION_CAP_XBZRLE:
+ case QEMU_MIGRATION_CAP_EVENTS:
+ if (!present) {
+ VIR_TEST_VERBOSE("Expected capability %s is missing", capStr);
+ return -1;
+ }
+ break;
+
+ default:
+ if (present) {
+ VIR_TEST_VERBOSE("Unexpected capability %s found", capStr);
+ return -1;
+ }
+ }
}
bitmap = virBitmapNew(QEMU_MIGRATION_CAP_LAST);
--
2.35.1