[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 28/37] tests/qtests: add qtest_qmp_add_client()
From: |
marcandre . lureau |
Subject: |
[PATCH v2 28/37] tests/qtests: add qtest_qmp_add_client() |
Date: |
Sun, 10 Oct 2021 01:08:29 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
tests/qtest/libqos/libqtest.h | 10 ++++++++++
tests/qtest/libqtest.c | 19 +++++++++++++++++++
2 files changed, 29 insertions(+)
diff --git a/tests/qtest/libqos/libqtest.h b/tests/qtest/libqos/libqtest.h
index a68dcd79d4..9e5f9118f3 100644
--- a/tests/qtest/libqos/libqtest.h
+++ b/tests/qtest/libqos/libqtest.h
@@ -728,6 +728,16 @@ void qtest_qmp_device_add_qdict(QTestState *qts, const
char *drv,
void qtest_qmp_device_add(QTestState *qts, const char *driver, const char *id,
const char *fmt, ...) GCC_FMT_ATTR(4, 5);
+/**
+ * qtest_qmp_add_client:
+ * @qts: QTestState instance to operate on
+ * @protocol: the protocol to add to
+ * @fd: the client file-descriptor
+ *
+ * Call QMP `getfd` followed by `add_client` with the given @fd.
+ */
+void qtest_qmp_add_client(QTestState *qts, const char *protocol, int fd);
+
/**
* qtest_qmp_device_del:
* @qts: QTestState instance to operate on
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index 73f6b977a6..c8ea5499a0 100644
--- a/tests/qtest/libqtest.c
+++ b/tests/qtest/libqtest.c
@@ -1367,6 +1367,25 @@ void qtest_qmp_device_add(QTestState *qts, const char
*driver, const char *id,
qobject_unref(args);
}
+void qtest_qmp_add_client(QTestState *qts, const char *protocol, int fd)
+{
+ QDict *resp;
+
+ resp = qtest_qmp_fds(qts, &fd, 1, "{'execute': 'getfd',"
+ "'arguments': {'fdname': 'fdname'}}");
+ g_assert(resp);
+ g_assert(!qdict_haskey(resp, "event")); /* We don't expect any events */
+ g_assert(!qdict_haskey(resp, "error"));
+ qobject_unref(resp);
+
+ resp = qtest_qmp(
+ qts, "{'execute': 'add_client',"
+ "'arguments': {'protocol': %s, 'fdname': 'fdname'}}", protocol);
+ g_assert(resp);
+ g_assert(!qdict_haskey(resp, "event")); /* We don't expect any events */
+ g_assert(!qdict_haskey(resp, "error"));
+ qobject_unref(resp);
+}
/*
* Generic hot-unplugging test via the device_del QMP command.
--
2.33.0.721.g106298f7f9
- [PATCH v2 19/37] console: save current scanout details, (continued)
- [PATCH v2 19/37] console: save current scanout details, marcandre . lureau, 2021/10/09
- [PATCH v2 20/37] scripts: teach modinfo to skip non-C sources, marcandre . lureau, 2021/10/09
- [PATCH v2 21/37] docs/sphinx: add sphinx modules to include D-Bus documentation, marcandre . lureau, 2021/10/09
- [PATCH v2 22/37] backends: move dbus-vmstate1.xml to backends/, marcandre . lureau, 2021/10/09
- [PATCH v2 23/37] docs: move D-Bus VMState documentation to source XML, marcandre . lureau, 2021/10/09
- [PATCH v2 25/37] build-sys: set glib dependency version, marcandre . lureau, 2021/10/09
- [PATCH v2 24/37] docs: add dbus-display documentation, marcandre . lureau, 2021/10/09
- [PATCH v2 26/37] ui: add a D-Bus display backend, marcandre . lureau, 2021/10/09
- [PATCH v2 27/37] ui/dbus: add p2p=on/off option, marcandre . lureau, 2021/10/09
- [PATCH v2 28/37] tests/qtests: add qtest_qmp_add_client(),
marcandre . lureau <=
- [PATCH v2 29/37] tests: start dbus-display-test, marcandre . lureau, 2021/10/09
- [PATCH v2 30/37] audio: add "dbus" audio backend, marcandre . lureau, 2021/10/09
- [PATCH v2 31/37] ui/dbus: add clipboard interface, marcandre . lureau, 2021/10/09
- [PATCH v2 32/37] chardev: teach socket to accept no addresses, marcandre . lureau, 2021/10/09
- [PATCH v2 33/37] chardev: make socket derivable, marcandre . lureau, 2021/10/09
- [PATCH v2 34/37] option: add g_auto for QemuOpts, marcandre . lureau, 2021/10/09
- [PATCH v2 35/37] ui/dbus: add chardev backend & interface, marcandre . lureau, 2021/10/09
- [PATCH v2 36/37] ui/dbus: register D-Bus VC handler, marcandre . lureau, 2021/10/09
- [PATCH v2 37/37] MAINTAINERS: update D-Bus section, marcandre . lureau, 2021/10/09
- Re: [PATCH v2 00/37] Add D-Bus display backend, Gerd Hoffmann, 2021/10/13