]> Git Repo - qemu.git/blobdiff - tests/libqtest.h
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
[qemu.git] / tests / libqtest.h
index 27a58fdb1c08f105321e80c443bdb424be5e8901..8f323c7030c337d0f225a4f7c46ed04ded90454e 100644 (file)
@@ -82,6 +82,14 @@ void qtest_qmpv_discard_response(QTestState *s, const char *fmt, va_list ap);
  */
 QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap);
 
+/**
+ * qtest_receive:
+ * @s: #QTestState instance to operate on.
+ *
+ * Reads a QMP message from QEMU and returns the response.
+ */
+QDict *qtest_qmp_receive(QTestState *s);
+
 /**
  * qtest_get_irq:
  * @s: #QTestState instance to operate on.
@@ -335,7 +343,8 @@ void qtest_add_func(const char *str, void (*fn));
  */
 static inline QTestState *qtest_start(const char *args)
 {
-    return qtest_init(args);
+    global_qtest = qtest_init(args);
+    return global_qtest;
 }
 
 /**
@@ -346,6 +355,7 @@ static inline QTestState *qtest_start(const char *args)
 static inline void qtest_end(void)
 {
     qtest_quit(global_qtest);
+    global_qtest = NULL;
 }
 
 /**
@@ -364,6 +374,16 @@ QDict *qmp(const char *fmt, ...);
  */
 void qmp_discard_response(const char *fmt, ...);
 
+/**
+ * qmp_receive:
+ *
+ * Reads a QMP message from QEMU and returns the response.
+ */
+static inline QDict *qmp_receive(void)
+{
+    return qtest_qmp_receive(global_qtest);
+}
+
 /**
  * get_irq:
  * @num: Interrupt to observe.
This page took 0.024409 seconds and 4 git commands to generate.