aboutsummaryrefslogtreecommitdiff
path: root/tests/libqtest.c
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2016-11-14 11:15:54 -0500
committerJohn Snow <jsnow@redhat.com>2016-11-14 11:15:54 -0500
commit7ffe3124edd4cfb68870f62263cd9830b68a7a46 (patch)
treed2f1bec806bc9951924cfd93587a6bcce10fcf71 /tests/libqtest.c
parentc47ee043dc2cc85da710e87524144a720598c096 (diff)
downloadqemu-7ffe3124edd4cfb68870f62263cd9830b68a7a46.zip
qemu-7ffe3124edd4cfb68870f62263cd9830b68a7a46.tar.gz
qemu-7ffe3124edd4cfb68870f62263cd9830b68a7a46.tar.bz2
libqtest: add qmp_eventwait_ref
Wait for an event, but return a copy so we can investigate parameters. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Message-id: 1478553214-497-3-git-send-email-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'tests/libqtest.c')
-rw-r--r--tests/libqtest.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/tests/libqtest.c b/tests/libqtest.c
index d4e6bff..6f69752 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -533,7 +533,7 @@ void qtest_qmp_discard_response(QTestState *s, const char *fmt, ...)
QDECREF(response);
}
-void qtest_qmp_eventwait(QTestState *s, const char *event)
+QDict *qtest_qmp_eventwait_ref(QTestState *s, const char *event)
{
QDict *response;
@@ -541,13 +541,20 @@ void qtest_qmp_eventwait(QTestState *s, const char *event)
response = qtest_qmp_receive(s);
if ((qdict_haskey(response, "event")) &&
(strcmp(qdict_get_str(response, "event"), event) == 0)) {
- QDECREF(response);
- break;
+ return response;
}
QDECREF(response);
}
}
+void qtest_qmp_eventwait(QTestState *s, const char *event)
+{
+ QDict *response;
+
+ response = qtest_qmp_eventwait_ref(s, event);
+ QDECREF(response);
+}
+
char *qtest_hmpv(QTestState *s, const char *fmt, va_list ap)
{
char *cmd;