[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v5 25/26] tests: qmp-test: verify command batching
From: |
Peter Xu |
Subject: |
[Qemu-devel] [RFC v5 25/26] tests: qmp-test: verify command batching |
Date: |
Tue, 5 Dec 2017 13:51:59 +0800 |
OOB introduced DROP event for flow control. This should not affect old
QMP clients. Add a command batching check to make sure of it.
Signed-off-by: Peter Xu <address@hidden>
---
tests/qmp-test.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/tests/qmp-test.c b/tests/qmp-test.c
index 292c5f135a..729ec59b0a 100644
--- a/tests/qmp-test.c
+++ b/tests/qmp-test.c
@@ -78,6 +78,7 @@ static void test_qmp_protocol(void)
QList *capabilities;
const QListEntry *entry;
QString *qstr;
+ int i;
global_qtest = qtest_init_without_qmp_handshake(common_args);
@@ -135,6 +136,24 @@ static void test_qmp_protocol(void)
g_assert_cmpint(qdict_get_int(resp, "id"), ==, 2);
QDECREF(resp);
+ /*
+ * Test command batching. In current test OOB is not enabled, we
+ * should be able to run as many commands in batch as we like.
+ * Using 16 (>8, which is OOB queue length) to make sure OOB
+ * won't break existing clients.
+ */
+ for (i = 0; i < 16; i++) {
+ qmp_async("{ 'execute': 'query-version' }");
+ }
+ /* Verify the replies to make sure no command is dropped. */
+ for (i = 0; i < 16; i++) {
+ resp = qmp_receive();
+ /* It should never be dropped. Each of them should be a reply. */
+ g_assert(qdict_haskey(resp, "return"));
+ g_assert(!qdict_haskey(resp, "event"));
+ QDECREF(resp);
+ }
+
qtest_end();
}
--
2.14.3
- Re: [Qemu-devel] [RFC v5 21/26] qmp: isolate responses into io thread, (continued)
[Qemu-devel] [RFC v5 25/26] tests: qmp-test: verify command batching,
Peter Xu <=
[Qemu-devel] [RFC v5 26/26] tests: qmp-test: add oob test, Peter Xu, 2017/12/05
Re: [Qemu-devel] [RFC v5 00/26] QMP: out-of-band (OOB) execution support, Stefan Hajnoczi, 2017/12/14
Re: [Qemu-devel] [RFC v5 00/26] QMP: out-of-band (OOB) execution support, Fam Zheng, 2017/12/15