aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2021-09-17 16:31:25 +0200
committerMarkus Armbruster <armbru@redhat.com>2021-09-27 08:23:25 +0200
commit16821fc85b078b08f4e6f1cc3d57fb4c00568a25 (patch)
tree2647fc5f56dcdaf1f4bb6dbc0f9a926b9ed282de
parent00e6832f419529645f45f93ccccb3778d51e9d0a (diff)
downloadqemu-16821fc85b078b08f4e6f1cc3d57fb4c00568a25.zip
qemu-16821fc85b078b08f4e6f1cc3d57fb4c00568a25.tar.gz
qemu-16821fc85b078b08f4e6f1cc3d57fb4c00568a25.tar.bz2
test-clone-visitor: Wean off UserDefListUnion
test_clone_complex1() uses simple union UserDefListUnion to cover unions. Use UserDefFlatUnion instead. Arrays are still covered by test_clone_complex3(). Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20210917143134.412106-15-armbru@redhat.com>
-rw-r--r--tests/unit/test-clone-visitor.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/tests/unit/test-clone-visitor.c b/tests/unit/test-clone-visitor.c
index 4944b3d..8357a90 100644
--- a/tests/unit/test-clone-visitor.c
+++ b/tests/unit/test-clone-visitor.c
@@ -99,18 +99,26 @@ static void test_clone_empty(void)
static void test_clone_complex1(void)
{
- UserDefListUnion *src, *dst;
+ UserDefFlatUnion *src, *dst;
- src = g_new0(UserDefListUnion, 1);
- src->type = USER_DEF_LIST_UNION_KIND_STRING;
+ src = g_new0(UserDefFlatUnion, 1);
+ src->integer = 123;
+ src->string = g_strdup("abc");
+ src->enum1 = ENUM_ONE_VALUE1;
+ src->u.value1.boolean = true;
- dst = QAPI_CLONE(UserDefListUnion, src);
+ dst = QAPI_CLONE(UserDefFlatUnion, src);
g_assert(dst);
- g_assert_cmpint(dst->type, ==, src->type);
- g_assert(!dst->u.string.data);
- qapi_free_UserDefListUnion(src);
- qapi_free_UserDefListUnion(dst);
+ g_assert_cmpint(dst->integer, ==, 123);
+ g_assert_cmpstr(dst->string, ==, "abc");
+ g_assert_cmpint(dst->enum1, ==, ENUM_ONE_VALUE1);
+ g_assert(dst->u.value1.boolean);
+ g_assert(!dst->u.value1.has_a_b);
+ g_assert_cmpint(dst->u.value1.a_b, ==, 0);
+
+ qapi_free_UserDefFlatUnion(src);
+ qapi_free_UserDefFlatUnion(dst);
}
static void test_clone_complex2(void)