δΊ 2014/3/21 8:23, Eric Blake ει:
On 03/18/2014 11:16 PM, Wenchao Xia wrote:
These cases will verify whether the expected qdict is built.
Signed-off-by: Wenchao Xia<wenchaoq...@gmail.com>
---
tests/Makefile | 14 ++-
tests/qapi-schema/qapi-schema-test.json | 12 ++
tests/qapi-schema/qapi-schema-test.out | 10 +-
tests/test-qmp-event.c | 258 +++++++++++++++++++++++++++++++
4 files changed, 289 insertions(+), 5 deletions(-)
create mode 100644 tests/test-qmp-event.c
+++ b/tests/test-qmp-event.c
@@ -0,0 +1,258 @@
+/*
+ * qapi event unit-tests.
+ *
+ * Authors:
+ * Wenchao Xia<wenchaoq...@gmail.com>
+ *
+ * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
+ * See the COPYING.LIB file in the top-level directory.
+ *
Missing "Copyright"
+ case QTYPE_QINT:
+ d->result = (qint_get_int(qobject_to_qint(obj1)) ==
+ qint_get_int(qobject_to_qint(obj2)));
+ return;
+ case QTYPE_QSTRING:
+ if (!g_strcmp0(qstring_get_str(qobject_to_qstring(obj1)),
+ qstring_get_str(qobject_to_qstring(obj2)))) {
+ d->result = true;
+ } else {
+ d->result = false;
+ }
Could also be written without 'if':
d->result = g_strcmp0(...) == 0;
+ obj = qdict_get(t, "seconds");
+ g_assert(obj&& qobject_type(obj) == QTYPE_QINT);
+ obj = qdict_get(t, "microseconds");
+ g_assert(obj&& qobject_type(obj) == QTYPE_QINT);
Might be worth asserting that microseconds is within the range
[0,999999] (or -1 if seconds is -1)
will add those test.