/* test generated dealloc functions for generated types */ static void test_dealloc_types(void) { UserDefOne *ud1test, *ud1a, *ud1b; UserDefOneList *ud1list; ud1test = g_malloc0(sizeof(UserDefOne)); ud1test->integer = 42; ud1test->string = g_strdup("hi there 42"); qapi_free_UserDefOne(ud1test); ud1a = g_malloc0(sizeof(UserDefOne)); ud1a->integer = 43; ud1a->string = g_strdup("hi there 43"); ud1b = g_malloc0(sizeof(UserDefOne)); ud1b->integer = 44; ud1b->string = g_strdup("hi there 44"); ud1list = g_malloc0(sizeof(UserDefOneList)); ud1list->value = ud1a; ud1list->next = g_malloc0(sizeof(UserDefOneList)); ud1list->next->value = ud1b; qapi_free_UserDefOneList(ud1list); }
static void test_clone_struct(void) { UserDefOne *src, *dst; src = g_new0(UserDefOne, 1); src->integer = 42; src->string = g_strdup("Hello"); src->has_enum1 = false; src->enum1 = ENUM_ONE_VALUE2; dst = QAPI_CLONE(UserDefOne, src); g_assert(dst); g_assert_cmpint(dst->integer, ==, 42); g_assert(dst->string != src->string); g_assert_cmpstr(dst->string, ==, "Hello"); g_assert_cmpint(dst->has_enum1, ==, false); /* Our implementation does this, but it is not required: g_assert_cmpint(dst->enum1, ==, ENUM_ONE_VALUE2); */ qapi_free_UserDefOne(src); qapi_free_UserDefOne(dst); }