From 73078906f355115611d943796307037a180caeec Mon Sep 17 00:00:00 2001
From: Jiri Denemark <jdenemar@redhat.com>
Date: Mon, 14 Nov 2016 14:29:57 +0100
Subject: [PATCH] qemucapsprobe: Ignore all greetings except the first one

When starting QEMU more than once during a single probing process,
qemucapsprobe utility would save QMP greeting several times, which
doesn't play well with our test monitor.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---
 tests/qemucapsprobemock.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tests/qemucapsprobemock.c b/tests/qemucapsprobemock.c
index 0c4c786b15..bad69bb1fe 100644
--- a/tests/qemucapsprobemock.c
+++ b/tests/qemucapsprobemock.c
@@ -77,10 +77,14 @@ qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon,
         char *p;
         bool skip = false;
 
-        if (first)
+        if (first) {
             first = false;
-        else
+        } else {
+            /* Ignore QMP greeting if it's not the first one */
+            if (virJSONValueObjectHasKey(value, "QMP"))
+                goto cleanup;
             putchar('\n');
+        }
 
         for (p = json; *p; p++) {
             if (skip && *p == '\n') {
@@ -92,6 +96,7 @@ qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon,
         }
     }
 
+ cleanup:
     VIR_FREE(json);
     virJSONValueFree(value);
     return ret;