From: "Dr. David Alan Gilbert" <dgilb...@redhat.com>

We need an easy way to silence error_report's that come
up in meant-to-fail test cases.  The easiest way to do
that is to create a monitor instance, and since our stubbed
monitor_printf's are slent this causes the errors to disappear.

Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com>
---
 stubs/mon-is-qmp.c | 9 +++++++++
 tests/libqtest.h   | 1 +
 2 files changed, 10 insertions(+)

diff --git a/stubs/mon-is-qmp.c b/stubs/mon-is-qmp.c
index a8344ce..012eb28 100644
--- a/stubs/mon-is-qmp.c
+++ b/stubs/mon-is-qmp.c
@@ -2,7 +2,16 @@
 #include "qemu-common.h"
 #include "monitor/monitor.h"
 
+/* Monitor is defined internally to the real monitor.c, so
+ * it's real contents are never accessed when stubs are in use;
+ * just a pointer.
+ */
+struct Monitor {
+    int dummy;
+};
+
 Monitor *cur_mon;
+Monitor stubs_silent_monitor;
 
 bool monitor_cur_is_qmp(void)
 {
diff --git a/tests/libqtest.h b/tests/libqtest.h
index 4be1f77..be34dbb 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -897,4 +897,5 @@ void qmp_fd_send(int fd, const char *fmt, ...);
 QDict *qmp_fdv(int fd, const char *fmt, va_list ap);
 QDict *qmp_fd(int fd, const char *fmt, ...);
 
+extern Monitor stubs_silent_monitor;
 #endif
-- 
2.9.3


Reply via email to