diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2021-10-07 01:07:30 +0400 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2021-12-21 10:50:22 +0400 |
commit | 2c7294d72c4086fc89935514430bd2bfb5ae5011 (patch) | |
tree | 77111a2f271257f5f582ab623d009d984f4d2a05 | |
parent | 99997823bbbd23aa0cce42e03b49fd8a57222e5e (diff) | |
download | qemu-2c7294d72c4086fc89935514430bd2bfb5ae5011.zip qemu-2c7294d72c4086fc89935514430bd2bfb5ae5011.tar.gz qemu-2c7294d72c4086fc89935514430bd2bfb5ae5011.tar.bz2 |
tests/qtests: add qtest_qmp_add_client()
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r-- | tests/qtest/libqos/libqtest.h | 10 | ||||
-rw-r--r-- | tests/qtest/libqtest.c | 19 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/qtest/libqos/libqtest.h b/tests/qtest/libqos/libqtest.h index dff6b31..a6d38d7 100644 --- a/tests/qtest/libqos/libqtest.h +++ b/tests/qtest/libqos/libqtest.h @@ -745,6 +745,16 @@ 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 * @id: Identification string diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c index 65ed949..a68326c 100644 --- a/tests/qtest/libqtest.c +++ b/tests/qtest/libqtest.c @@ -1453,6 +1453,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. |