tests: Convert to new qapi union layout
We have two issues with our qapi union layout: 1) Even though the QMP wire format spells the tag 'type', the C code spells it 'kind', requiring some hacks in the generator. 2) The C struct uses an anonymous union, which places all tag values in the same namespace as all non-variant members. This leads to spurious collisions if a tag value matches a non-variant member's name. Make the conversion to the new layout for testsuite code. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1445898903-12082-15-git-send-email-eblake@redhat.com> [Commit message tweaked slightly] Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
150d0564a4
commit
c363acef77
@ -62,8 +62,8 @@ __org_qemu_x_Union1 *qmp___org_qemu_x_command(__org_qemu_x_EnumList *a,
|
|||||||
{
|
{
|
||||||
__org_qemu_x_Union1 *ret = g_new0(__org_qemu_x_Union1, 1);
|
__org_qemu_x_Union1 *ret = g_new0(__org_qemu_x_Union1, 1);
|
||||||
|
|
||||||
ret->kind = ORG_QEMU_X_UNION1_KIND___ORG_QEMU_X_BRANCH;
|
ret->type = ORG_QEMU_X_UNION1_KIND___ORG_QEMU_X_BRANCH;
|
||||||
ret->__org_qemu_x_branch = strdup("blah1");
|
ret->u.__org_qemu_x_branch = strdup("blah1");
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -360,7 +360,7 @@ static void test_visitor_in_union_flat(TestInputVisitorData *data,
|
|||||||
g_assert_cmpint(tmp->enum1, ==, ENUM_ONE_VALUE1);
|
g_assert_cmpint(tmp->enum1, ==, ENUM_ONE_VALUE1);
|
||||||
g_assert_cmpstr(tmp->string, ==, "str");
|
g_assert_cmpstr(tmp->string, ==, "str");
|
||||||
g_assert_cmpint(tmp->integer, ==, 41);
|
g_assert_cmpint(tmp->integer, ==, 41);
|
||||||
g_assert_cmpint(tmp->value1->boolean, ==, true);
|
g_assert_cmpint(tmp->u.value1->boolean, ==, true);
|
||||||
|
|
||||||
base = qapi_UserDefFlatUnion_base(tmp);
|
base = qapi_UserDefFlatUnion_base(tmp);
|
||||||
g_assert(&base->enum1 == &tmp->enum1);
|
g_assert(&base->enum1 == &tmp->enum1);
|
||||||
@ -377,15 +377,15 @@ static void test_visitor_in_alternate(TestInputVisitorData *data,
|
|||||||
|
|
||||||
v = visitor_input_test_init(data, "42");
|
v = visitor_input_test_init(data, "42");
|
||||||
visit_type_UserDefAlternate(v, &tmp, NULL, &error_abort);
|
visit_type_UserDefAlternate(v, &tmp, NULL, &error_abort);
|
||||||
g_assert_cmpint(tmp->kind, ==, USER_DEF_ALTERNATE_KIND_I);
|
g_assert_cmpint(tmp->type, ==, USER_DEF_ALTERNATE_KIND_I);
|
||||||
g_assert_cmpint(tmp->i, ==, 42);
|
g_assert_cmpint(tmp->u.i, ==, 42);
|
||||||
qapi_free_UserDefAlternate(tmp);
|
qapi_free_UserDefAlternate(tmp);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
v = visitor_input_test_init(data, "'string'");
|
v = visitor_input_test_init(data, "'string'");
|
||||||
visit_type_UserDefAlternate(v, &tmp, NULL, &error_abort);
|
visit_type_UserDefAlternate(v, &tmp, NULL, &error_abort);
|
||||||
g_assert_cmpint(tmp->kind, ==, USER_DEF_ALTERNATE_KIND_S);
|
g_assert_cmpint(tmp->type, ==, USER_DEF_ALTERNATE_KIND_S);
|
||||||
g_assert_cmpstr(tmp->s, ==, "string");
|
g_assert_cmpstr(tmp->u.s, ==, "string");
|
||||||
qapi_free_UserDefAlternate(tmp);
|
qapi_free_UserDefAlternate(tmp);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
@ -424,8 +424,8 @@ static void test_visitor_in_alternate_number(TestInputVisitorData *data,
|
|||||||
* parse the same as ans */
|
* parse the same as ans */
|
||||||
v = visitor_input_test_init(data, "42");
|
v = visitor_input_test_init(data, "42");
|
||||||
visit_type_AltStrNum(v, &asn, NULL, &err);
|
visit_type_AltStrNum(v, &asn, NULL, &err);
|
||||||
/* FIXME g_assert_cmpint(asn->kind, == ALT_STR_NUM_KIND_N); */
|
/* FIXME g_assert_cmpint(asn->type, == ALT_STR_NUM_KIND_N); */
|
||||||
/* FIXME g_assert_cmpfloat(asn->n, ==, 42); */
|
/* FIXME g_assert_cmpfloat(asn->u.n, ==, 42); */
|
||||||
g_assert(err);
|
g_assert(err);
|
||||||
error_free(err);
|
error_free(err);
|
||||||
err = NULL;
|
err = NULL;
|
||||||
@ -434,29 +434,29 @@ static void test_visitor_in_alternate_number(TestInputVisitorData *data,
|
|||||||
|
|
||||||
v = visitor_input_test_init(data, "42");
|
v = visitor_input_test_init(data, "42");
|
||||||
visit_type_AltNumStr(v, &ans, NULL, &error_abort);
|
visit_type_AltNumStr(v, &ans, NULL, &error_abort);
|
||||||
g_assert_cmpint(ans->kind, ==, ALT_NUM_STR_KIND_N);
|
g_assert_cmpint(ans->type, ==, ALT_NUM_STR_KIND_N);
|
||||||
g_assert_cmpfloat(ans->n, ==, 42);
|
g_assert_cmpfloat(ans->u.n, ==, 42);
|
||||||
qapi_free_AltNumStr(ans);
|
qapi_free_AltNumStr(ans);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
v = visitor_input_test_init(data, "42");
|
v = visitor_input_test_init(data, "42");
|
||||||
visit_type_AltStrInt(v, &asi, NULL, &error_abort);
|
visit_type_AltStrInt(v, &asi, NULL, &error_abort);
|
||||||
g_assert_cmpint(asi->kind, ==, ALT_STR_INT_KIND_I);
|
g_assert_cmpint(asi->type, ==, ALT_STR_INT_KIND_I);
|
||||||
g_assert_cmpint(asi->i, ==, 42);
|
g_assert_cmpint(asi->u.i, ==, 42);
|
||||||
qapi_free_AltStrInt(asi);
|
qapi_free_AltStrInt(asi);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
v = visitor_input_test_init(data, "42");
|
v = visitor_input_test_init(data, "42");
|
||||||
visit_type_AltIntNum(v, &ain, NULL, &error_abort);
|
visit_type_AltIntNum(v, &ain, NULL, &error_abort);
|
||||||
g_assert_cmpint(ain->kind, ==, ALT_INT_NUM_KIND_I);
|
g_assert_cmpint(ain->type, ==, ALT_INT_NUM_KIND_I);
|
||||||
g_assert_cmpint(ain->i, ==, 42);
|
g_assert_cmpint(ain->u.i, ==, 42);
|
||||||
qapi_free_AltIntNum(ain);
|
qapi_free_AltIntNum(ain);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
v = visitor_input_test_init(data, "42");
|
v = visitor_input_test_init(data, "42");
|
||||||
visit_type_AltNumInt(v, &ani, NULL, &error_abort);
|
visit_type_AltNumInt(v, &ani, NULL, &error_abort);
|
||||||
g_assert_cmpint(ani->kind, ==, ALT_NUM_INT_KIND_I);
|
g_assert_cmpint(ani->type, ==, ALT_NUM_INT_KIND_I);
|
||||||
g_assert_cmpint(ani->i, ==, 42);
|
g_assert_cmpint(ani->u.i, ==, 42);
|
||||||
qapi_free_AltNumInt(ani);
|
qapi_free_AltNumInt(ani);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
@ -472,15 +472,15 @@ static void test_visitor_in_alternate_number(TestInputVisitorData *data,
|
|||||||
|
|
||||||
v = visitor_input_test_init(data, "42.5");
|
v = visitor_input_test_init(data, "42.5");
|
||||||
visit_type_AltStrNum(v, &asn, NULL, &error_abort);
|
visit_type_AltStrNum(v, &asn, NULL, &error_abort);
|
||||||
g_assert_cmpint(asn->kind, ==, ALT_STR_NUM_KIND_N);
|
g_assert_cmpint(asn->type, ==, ALT_STR_NUM_KIND_N);
|
||||||
g_assert_cmpfloat(asn->n, ==, 42.5);
|
g_assert_cmpfloat(asn->u.n, ==, 42.5);
|
||||||
qapi_free_AltStrNum(asn);
|
qapi_free_AltStrNum(asn);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
v = visitor_input_test_init(data, "42.5");
|
v = visitor_input_test_init(data, "42.5");
|
||||||
visit_type_AltNumStr(v, &ans, NULL, &error_abort);
|
visit_type_AltNumStr(v, &ans, NULL, &error_abort);
|
||||||
g_assert_cmpint(ans->kind, ==, ALT_NUM_STR_KIND_N);
|
g_assert_cmpint(ans->type, ==, ALT_NUM_STR_KIND_N);
|
||||||
g_assert_cmpfloat(ans->n, ==, 42.5);
|
g_assert_cmpfloat(ans->u.n, ==, 42.5);
|
||||||
qapi_free_AltNumStr(ans);
|
qapi_free_AltNumStr(ans);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
@ -494,15 +494,15 @@ static void test_visitor_in_alternate_number(TestInputVisitorData *data,
|
|||||||
|
|
||||||
v = visitor_input_test_init(data, "42.5");
|
v = visitor_input_test_init(data, "42.5");
|
||||||
visit_type_AltIntNum(v, &ain, NULL, &error_abort);
|
visit_type_AltIntNum(v, &ain, NULL, &error_abort);
|
||||||
g_assert_cmpint(ain->kind, ==, ALT_INT_NUM_KIND_N);
|
g_assert_cmpint(ain->type, ==, ALT_INT_NUM_KIND_N);
|
||||||
g_assert_cmpfloat(ain->n, ==, 42.5);
|
g_assert_cmpfloat(ain->u.n, ==, 42.5);
|
||||||
qapi_free_AltIntNum(ain);
|
qapi_free_AltIntNum(ain);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
|
|
||||||
v = visitor_input_test_init(data, "42.5");
|
v = visitor_input_test_init(data, "42.5");
|
||||||
visit_type_AltNumInt(v, &ani, NULL, &error_abort);
|
visit_type_AltNumInt(v, &ani, NULL, &error_abort);
|
||||||
g_assert_cmpint(ani->kind, ==, ALT_NUM_INT_KIND_N);
|
g_assert_cmpint(ani->type, ==, ALT_NUM_INT_KIND_N);
|
||||||
g_assert_cmpfloat(ani->n, ==, 42.5);
|
g_assert_cmpfloat(ani->u.n, ==, 42.5);
|
||||||
qapi_free_AltNumInt(ani);
|
qapi_free_AltNumInt(ani);
|
||||||
visitor_input_teardown(data, NULL);
|
visitor_input_teardown(data, NULL);
|
||||||
}
|
}
|
||||||
@ -532,68 +532,68 @@ static void test_native_list_integer_helper(TestInputVisitorData *data,
|
|||||||
visit_type_UserDefNativeListUnion(v, &cvalue, NULL, &err);
|
visit_type_UserDefNativeListUnion(v, &cvalue, NULL, &err);
|
||||||
g_assert(err == NULL);
|
g_assert(err == NULL);
|
||||||
g_assert(cvalue != NULL);
|
g_assert(cvalue != NULL);
|
||||||
g_assert_cmpint(cvalue->kind, ==, kind);
|
g_assert_cmpint(cvalue->type, ==, kind);
|
||||||
|
|
||||||
switch (kind) {
|
switch (kind) {
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_INTEGER: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_INTEGER: {
|
||||||
intList *elem = NULL;
|
intList *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->integer; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.integer; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_S8: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_S8: {
|
||||||
int8List *elem = NULL;
|
int8List *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->s8; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.s8; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_S16: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_S16: {
|
||||||
int16List *elem = NULL;
|
int16List *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->s16; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.s16; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_S32: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_S32: {
|
||||||
int32List *elem = NULL;
|
int32List *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->s32; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.s32; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_S64: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_S64: {
|
||||||
int64List *elem = NULL;
|
int64List *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->s64; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.s64; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_U8: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_U8: {
|
||||||
uint8List *elem = NULL;
|
uint8List *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->u8; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.u8; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_U16: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_U16: {
|
||||||
uint16List *elem = NULL;
|
uint16List *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->u16; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.u16; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_U32: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_U32: {
|
||||||
uint32List *elem = NULL;
|
uint32List *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->u32; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.u32; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_U64: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_U64: {
|
||||||
uint64List *elem = NULL;
|
uint64List *elem = NULL;
|
||||||
for (i = 0, elem = cvalue->u64; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.u64; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, i);
|
g_assert_cmpint(elem->value, ==, i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -695,9 +695,9 @@ static void test_visitor_in_native_list_bool(TestInputVisitorData *data,
|
|||||||
visit_type_UserDefNativeListUnion(v, &cvalue, NULL, &err);
|
visit_type_UserDefNativeListUnion(v, &cvalue, NULL, &err);
|
||||||
g_assert(err == NULL);
|
g_assert(err == NULL);
|
||||||
g_assert(cvalue != NULL);
|
g_assert(cvalue != NULL);
|
||||||
g_assert_cmpint(cvalue->kind, ==, USER_DEF_NATIVE_LIST_UNION_KIND_BOOLEAN);
|
g_assert_cmpint(cvalue->type, ==, USER_DEF_NATIVE_LIST_UNION_KIND_BOOLEAN);
|
||||||
|
|
||||||
for (i = 0, elem = cvalue->boolean; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.boolean; elem; elem = elem->next, i++) {
|
||||||
g_assert_cmpint(elem->value, ==, (i % 3 == 0) ? 1 : 0);
|
g_assert_cmpint(elem->value, ==, (i % 3 == 0) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -730,9 +730,9 @@ static void test_visitor_in_native_list_string(TestInputVisitorData *data,
|
|||||||
visit_type_UserDefNativeListUnion(v, &cvalue, NULL, &err);
|
visit_type_UserDefNativeListUnion(v, &cvalue, NULL, &err);
|
||||||
g_assert(err == NULL);
|
g_assert(err == NULL);
|
||||||
g_assert(cvalue != NULL);
|
g_assert(cvalue != NULL);
|
||||||
g_assert_cmpint(cvalue->kind, ==, USER_DEF_NATIVE_LIST_UNION_KIND_STRING);
|
g_assert_cmpint(cvalue->type, ==, USER_DEF_NATIVE_LIST_UNION_KIND_STRING);
|
||||||
|
|
||||||
for (i = 0, elem = cvalue->string; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.string; elem; elem = elem->next, i++) {
|
||||||
gchar str[8];
|
gchar str[8];
|
||||||
sprintf(str, "%d", i);
|
sprintf(str, "%d", i);
|
||||||
g_assert_cmpstr(elem->value, ==, str);
|
g_assert_cmpstr(elem->value, ==, str);
|
||||||
@ -769,9 +769,9 @@ static void test_visitor_in_native_list_number(TestInputVisitorData *data,
|
|||||||
visit_type_UserDefNativeListUnion(v, &cvalue, NULL, &err);
|
visit_type_UserDefNativeListUnion(v, &cvalue, NULL, &err);
|
||||||
g_assert(err == NULL);
|
g_assert(err == NULL);
|
||||||
g_assert(cvalue != NULL);
|
g_assert(cvalue != NULL);
|
||||||
g_assert_cmpint(cvalue->kind, ==, USER_DEF_NATIVE_LIST_UNION_KIND_NUMBER);
|
g_assert_cmpint(cvalue->type, ==, USER_DEF_NATIVE_LIST_UNION_KIND_NUMBER);
|
||||||
|
|
||||||
for (i = 0, elem = cvalue->number; elem; elem = elem->next, i++) {
|
for (i = 0, elem = cvalue->u.number; elem; elem = elem->next, i++) {
|
||||||
GString *double_expected = g_string_new("");
|
GString *double_expected = g_string_new("");
|
||||||
GString *double_actual = g_string_new("");
|
GString *double_actual = g_string_new("");
|
||||||
|
|
||||||
|
@ -487,9 +487,9 @@ static void test_visitor_out_union_flat(TestOutputVisitorData *data,
|
|||||||
UserDefFlatUnion *tmp = g_malloc0(sizeof(UserDefFlatUnion));
|
UserDefFlatUnion *tmp = g_malloc0(sizeof(UserDefFlatUnion));
|
||||||
tmp->enum1 = ENUM_ONE_VALUE1;
|
tmp->enum1 = ENUM_ONE_VALUE1;
|
||||||
tmp->string = g_strdup("str");
|
tmp->string = g_strdup("str");
|
||||||
tmp->value1 = g_malloc0(sizeof(UserDefA));
|
tmp->u.value1 = g_malloc0(sizeof(UserDefA));
|
||||||
/* TODO when generator bug is fixed: tmp->integer = 41; */
|
tmp->integer = 41;
|
||||||
tmp->value1->boolean = true;
|
tmp->u.value1->boolean = true;
|
||||||
|
|
||||||
visit_type_UserDefFlatUnion(data->ov, &tmp, NULL, &err);
|
visit_type_UserDefFlatUnion(data->ov, &tmp, NULL, &err);
|
||||||
g_assert(err == NULL);
|
g_assert(err == NULL);
|
||||||
@ -500,7 +500,7 @@ static void test_visitor_out_union_flat(TestOutputVisitorData *data,
|
|||||||
|
|
||||||
g_assert_cmpstr(qdict_get_str(qdict, "enum1"), ==, "value1");
|
g_assert_cmpstr(qdict_get_str(qdict, "enum1"), ==, "value1");
|
||||||
g_assert_cmpstr(qdict_get_str(qdict, "string"), ==, "str");
|
g_assert_cmpstr(qdict_get_str(qdict, "string"), ==, "str");
|
||||||
/* TODO g_assert_cmpint(qdict_get_int(qdict, "integer"), ==, 41); */
|
g_assert_cmpint(qdict_get_int(qdict, "integer"), ==, 41);
|
||||||
g_assert_cmpint(qdict_get_bool(qdict, "boolean"), ==, true);
|
g_assert_cmpint(qdict_get_bool(qdict, "boolean"), ==, true);
|
||||||
|
|
||||||
qapi_free_UserDefFlatUnion(tmp);
|
qapi_free_UserDefFlatUnion(tmp);
|
||||||
@ -514,8 +514,8 @@ static void test_visitor_out_alternate(TestOutputVisitorData *data,
|
|||||||
Error *err = NULL;
|
Error *err = NULL;
|
||||||
|
|
||||||
UserDefAlternate *tmp = g_malloc0(sizeof(UserDefAlternate));
|
UserDefAlternate *tmp = g_malloc0(sizeof(UserDefAlternate));
|
||||||
tmp->kind = USER_DEF_ALTERNATE_KIND_I;
|
tmp->type = USER_DEF_ALTERNATE_KIND_I;
|
||||||
tmp->i = 42;
|
tmp->u.i = 42;
|
||||||
|
|
||||||
visit_type_UserDefAlternate(data->ov, &tmp, NULL, &err);
|
visit_type_UserDefAlternate(data->ov, &tmp, NULL, &err);
|
||||||
g_assert(err == NULL);
|
g_assert(err == NULL);
|
||||||
@ -540,9 +540,9 @@ static void test_visitor_out_empty(TestOutputVisitorData *data,
|
|||||||
static void init_native_list(UserDefNativeListUnion *cvalue)
|
static void init_native_list(UserDefNativeListUnion *cvalue)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
switch (cvalue->kind) {
|
switch (cvalue->type) {
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_INTEGER: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_INTEGER: {
|
||||||
intList **list = &cvalue->integer;
|
intList **list = &cvalue->u.integer;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(intList, 1);
|
*list = g_new0(intList, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -552,7 +552,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_S8: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_S8: {
|
||||||
int8List **list = &cvalue->s8;
|
int8List **list = &cvalue->u.s8;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(int8List, 1);
|
*list = g_new0(int8List, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -562,7 +562,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_S16: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_S16: {
|
||||||
int16List **list = &cvalue->s16;
|
int16List **list = &cvalue->u.s16;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(int16List, 1);
|
*list = g_new0(int16List, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -572,7 +572,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_S32: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_S32: {
|
||||||
int32List **list = &cvalue->s32;
|
int32List **list = &cvalue->u.s32;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(int32List, 1);
|
*list = g_new0(int32List, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -582,7 +582,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_S64: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_S64: {
|
||||||
int64List **list = &cvalue->s64;
|
int64List **list = &cvalue->u.s64;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(int64List, 1);
|
*list = g_new0(int64List, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -592,7 +592,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_U8: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_U8: {
|
||||||
uint8List **list = &cvalue->u8;
|
uint8List **list = &cvalue->u.u8;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(uint8List, 1);
|
*list = g_new0(uint8List, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -602,7 +602,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_U16: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_U16: {
|
||||||
uint16List **list = &cvalue->u16;
|
uint16List **list = &cvalue->u.u16;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(uint16List, 1);
|
*list = g_new0(uint16List, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -612,7 +612,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_U32: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_U32: {
|
||||||
uint32List **list = &cvalue->u32;
|
uint32List **list = &cvalue->u.u32;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(uint32List, 1);
|
*list = g_new0(uint32List, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -622,7 +622,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_U64: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_U64: {
|
||||||
uint64List **list = &cvalue->u64;
|
uint64List **list = &cvalue->u.u64;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(uint64List, 1);
|
*list = g_new0(uint64List, 1);
|
||||||
(*list)->value = i;
|
(*list)->value = i;
|
||||||
@ -632,7 +632,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_BOOLEAN: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_BOOLEAN: {
|
||||||
boolList **list = &cvalue->boolean;
|
boolList **list = &cvalue->u.boolean;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(boolList, 1);
|
*list = g_new0(boolList, 1);
|
||||||
(*list)->value = (i % 3 == 0);
|
(*list)->value = (i % 3 == 0);
|
||||||
@ -642,7 +642,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_STRING: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_STRING: {
|
||||||
strList **list = &cvalue->string;
|
strList **list = &cvalue->u.string;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(strList, 1);
|
*list = g_new0(strList, 1);
|
||||||
(*list)->value = g_strdup_printf("%d", i);
|
(*list)->value = g_strdup_printf("%d", i);
|
||||||
@ -652,7 +652,7 @@ static void init_native_list(UserDefNativeListUnion *cvalue)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case USER_DEF_NATIVE_LIST_UNION_KIND_NUMBER: {
|
case USER_DEF_NATIVE_LIST_UNION_KIND_NUMBER: {
|
||||||
numberList **list = &cvalue->number;
|
numberList **list = &cvalue->u.number;
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
*list = g_new0(numberList, 1);
|
*list = g_new0(numberList, 1);
|
||||||
(*list)->value = (double)i / 3;
|
(*list)->value = (double)i / 3;
|
||||||
@ -761,14 +761,14 @@ static void test_native_list(TestOutputVisitorData *data,
|
|||||||
Error *err = NULL;
|
Error *err = NULL;
|
||||||
QObject *obj;
|
QObject *obj;
|
||||||
|
|
||||||
cvalue->kind = kind;
|
cvalue->type = kind;
|
||||||
init_native_list(cvalue);
|
init_native_list(cvalue);
|
||||||
|
|
||||||
visit_type_UserDefNativeListUnion(data->ov, &cvalue, NULL, &err);
|
visit_type_UserDefNativeListUnion(data->ov, &cvalue, NULL, &err);
|
||||||
g_assert(err == NULL);
|
g_assert(err == NULL);
|
||||||
|
|
||||||
obj = qmp_output_get_qobject(data->qov);
|
obj = qmp_output_get_qobject(data->qov);
|
||||||
check_native_list(obj, cvalue->kind);
|
check_native_list(obj, cvalue->type);
|
||||||
qapi_free_UserDefNativeListUnion(cvalue);
|
qapi_free_UserDefNativeListUnion(cvalue);
|
||||||
qobject_decref(obj);
|
qobject_decref(obj);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user