qapi: More tests of alternate output
The testsuite was only covering that we could output the 'int' branch of an alternate (no additional allocation/cleanup required). Add a test of the 'str' branch, to make sure that things still work even when a branch involves allocation. Update to modern style of g_new0() over g_malloc0() while touching it. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1446791754-23823-9-git-send-email-eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
a12a5a1a01
commit
12fafd7ced
|
@ -425,8 +425,9 @@ static void test_visitor_out_alternate(TestOutputVisitorData *data,
|
|||
const void *unused)
|
||||
{
|
||||
QObject *arg;
|
||||
UserDefAlternate *tmp;
|
||||
|
||||
UserDefAlternate *tmp = g_malloc0(sizeof(UserDefAlternate));
|
||||
tmp = g_new0(UserDefAlternate, 1);
|
||||
tmp->type = USER_DEF_ALTERNATE_KIND_I;
|
||||
tmp->u.i = 42;
|
||||
|
||||
|
@ -438,6 +439,19 @@ static void test_visitor_out_alternate(TestOutputVisitorData *data,
|
|||
|
||||
qapi_free_UserDefAlternate(tmp);
|
||||
qobject_decref(arg);
|
||||
|
||||
tmp = g_new0(UserDefAlternate, 1);
|
||||
tmp->type = USER_DEF_ALTERNATE_KIND_S;
|
||||
tmp->u.s = g_strdup("hello");
|
||||
|
||||
visit_type_UserDefAlternate(data->ov, &tmp, NULL, &error_abort);
|
||||
arg = qmp_output_get_qobject(data->qov);
|
||||
|
||||
g_assert(qobject_type(arg) == QTYPE_QSTRING);
|
||||
g_assert_cmpstr(qstring_get_str(qobject_to_qstring(arg)), ==, "hello");
|
||||
|
||||
qapi_free_UserDefAlternate(tmp);
|
||||
qobject_decref(arg);
|
||||
}
|
||||
|
||||
static void test_visitor_out_empty(TestOutputVisitorData *data,
|
||||
|
|
Loading…
Reference in New Issue