[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 24/25] qtest: add /qemu-qmp/screendump test
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v2 24/25] qtest: add /qemu-qmp/screendump test |
Date: |
Wed, 18 Jan 2017 20:03:31 +0400 |
Check that screendump works with and without client async support.
Signed-off-by: Marc-André Lureau <address@hidden>
---
tests/qmp-test.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/tests/qmp-test.c b/tests/qmp-test.c
index f383d5d6f6..22b7315ca7 100644
--- a/tests/qmp-test.c
+++ b/tests/qmp-test.c
@@ -113,6 +113,57 @@ static void test_async(void)
qtest_quit(qtest);
}
+static void test_screendump(void)
+{
+ QDict *ret;
+ QTestState *qtest;
+ gchar *fname = NULL;
+ int64_t id;
+ int fd;
+ char *buf = NULL;
+ gsize len = 0;
+
+ fd = g_file_open_tmp("qemu-test-screendump.XXXXXX", &fname, NULL);
+ g_assert(fd >= 0);
+ g_assert_nonnull(fname);
+
+ /* without async */
+ qtest = qtest_init("-machine none");
+ qtest_async_qmp(qtest, "{'execute': 'screendump',"
+ " 'arguments': { 'filename': %s } }", fname);
+
+ ret = qtest_qmp_receive(qtest);
+ g_assert_nonnull(ret);
+ QDECREF(ret);
+ qtest_quit(qtest);
+
+ g_file_get_contents(fname, &buf, &len, NULL);
+ g_assert_cmpint(len, >, 0);
+ g_assert_nonnull(buf);
+ g_free(buf);
+
+ /* with async */
+ qtest = qtest_init_qmp_caps("-machine none", "'async'");
+ qtest_async_qmp(qtest, "{'execute': 'screendump', 'id': 42,"
+ " 'arguments': { 'filename': %s } }", fname);
+
+ ret = qtest_qmp_receive(qtest);
+ id = qdict_get_try_int(ret, "id", -1);
+ g_assert_cmpint(id, ==, 42);
+ g_assert_nonnull(ret);
+ QDECREF(ret);
+ qtest_quit(qtest);
+
+ g_file_get_contents(fname, &buf, &len, NULL);
+ g_assert_cmpint(len, >, 0);
+ g_assert_nonnull(buf);
+ g_free(buf);
+
+ close(fd);
+ unlink(fname);
+ g_free(fname);
+}
+
int main(int argc, char **argv)
{
int ret;
@@ -129,6 +180,8 @@ int main(int argc, char **argv)
test_no_async);
qtest_add_func("/qemu-qmp/async",
test_async);
+ qtest_add_func("/qemu-qmp/screendump",
+ test_screendump);
ret = g_test_run();
--
2.11.0.295.gd7dffce1c
- [Qemu-devel] [PATCH v2 19/25] tests: add tests for async and non-async clients, (continued)
- [Qemu-devel] [PATCH v2 19/25] tests: add tests for async and non-async clients, Marc-André Lureau, 2017/01/18
- [Qemu-devel] [PATCH v2 18/25] qtest: add qtest_init_qmp_caps(), Marc-André Lureau, 2017/01/18
- [Qemu-devel] [PATCH v2 20/25] qapi: improve 'screendump' documentation, Marc-André Lureau, 2017/01/18
- [Qemu-devel] [PATCH v2 21/25] console: graphic_hw_update return true if async, Marc-André Lureau, 2017/01/18
- [Qemu-devel] [PATCH v2 22/25] console: add graphic_hw_update_done(), Marc-André Lureau, 2017/01/18
- [Qemu-devel] [PATCH v2 23/25] console: make screendump async, Marc-André Lureau, 2017/01/18
[Qemu-devel] [PATCH v2 24/25] qtest: add /qemu-qmp/screendump test,
Marc-André Lureau <=
[Qemu-devel] [PATCH v2 25/25] qmp: move json-message-parser and check to QmpClient, Marc-André Lureau, 2017/01/18
Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, no-reply, 2017/01/18
Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, Stefan Hajnoczi, 2017/01/23
- Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, Marc-André Lureau, 2017/01/23
- Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, Stefan Hajnoczi, 2017/01/24
- Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, Marc-André Lureau, 2017/01/24
- Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, Stefan Hajnoczi, 2017/01/30
- Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, Marc-André Lureau, 2017/01/30
- Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, Gerd Hoffmann, 2017/01/31
- Re: [Qemu-devel] [PATCH v2 00/25] qmp: add async command type, Markus Armbruster, 2017/01/31