[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 2/6] libqtest: add qmp_eventwait_ref
From: |
John Snow |
Subject: |
[Qemu-block] [PATCH v2 2/6] libqtest: add qmp_eventwait_ref |
Date: |
Mon, 7 Nov 2016 16:13:30 -0500 |
Wait for an event, but return a copy so we can investigate parameters.
Signed-off-by: John Snow <address@hidden>
---
tests/libqtest.c | 13 ++++++++++---
tests/libqtest.h | 22 ++++++++++++++++++++++
2 files changed, 32 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;
diff --git a/tests/libqtest.h b/tests/libqtest.h
index 0224f06..90f182e 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -114,6 +114,16 @@ QDict *qtest_qmp_receive(QTestState *s);
void qtest_qmp_eventwait(QTestState *s, const char *event);
/**
+ * qtest_qmp_eventwait_ref:
+ * @s: #QTestState instance to operate on.
+ * @s: #event event to wait for.
+ *
+ * Continuosly polls for QMP responses until it receives the desired event.
+ * Returns a copy of the event for further investigation.
+ */
+QDict *qtest_qmp_eventwait_ref(QTestState *s, const char *event);
+
+/**
* qtest_hmpv:
* @s: #QTestState instance to operate on.
* @fmt...: HMP command to send to QEMU
@@ -559,6 +569,18 @@ static inline void qmp_eventwait(const char *event)
}
/**
+ * qmp_eventwait_ref:
+ * @s: #event event to wait for.
+ *
+ * Continuosly polls for QMP responses until it receives the desired event.
+ * Returns a copy of the event for further investigation.
+ */
+static inline QDict *qmp_eventwait_ref(const char *event)
+{
+ return qtest_qmp_eventwait_ref(global_qtest, event);
+}
+
+/**
* hmp:
* @fmt...: HMP command to send to QEMU
*
--
2.7.4
- [Qemu-block] [PATCH v2 0/6] block-backend: Always notify on blk_eject, John Snow, 2016/11/07
- [Qemu-block] [PATCH v2 5/6] libqos/ahci: Add get_sense and test_ready, John Snow, 2016/11/07
- [Qemu-block] [PATCH v2 1/6] block-backend: Always notify on blk_eject, John Snow, 2016/11/07
- [Qemu-block] [PATCH v2 3/6] libqos/ahci: Support expected errors, John Snow, 2016/11/07
- [Qemu-block] [PATCH v2 2/6] libqtest: add qmp_eventwait_ref,
John Snow <=
- [Qemu-block] [PATCH v2 4/6] libqos/ahci: Add ATAPI tray macros, John Snow, 2016/11/07
- [Qemu-block] [PATCH v2 6/6] ahci-test: add QMP tray test for ATAPI, John Snow, 2016/11/07
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/6] block-backend: Always notify on blk_eject, John Snow, 2016/11/10
- Re: [Qemu-block] [PATCH v2 0/6] block-backend: Always notify on blk_eject, Kevin Wolf, 2016/11/11