[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 122/124] vmstate: Test for VMSTATE_STRUCT_VARRAY_POI
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 122/124] vmstate: Test for VMSTATE_STRUCT_VARRAY_POINTER_INT32 |
Date: |
Mon, 21 Apr 2014 16:41:42 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
tests/test-vmstate.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
index c937661..fa69209 100644
--- a/tests/test-vmstate.c
+++ b/tests/test-vmstate.c
@@ -1660,6 +1660,7 @@ typedef struct TestStruct2 {
uint16_t size4;
SubStruct *p_1;
SubStruct *p_2;
+ SubStruct *p_3;
} TestStruct2;
/*
@@ -1686,6 +1687,8 @@ static const VMStateDescription vmstate_struct_varray = {
vmstate_sub_struct, SubStruct),
VMSTATE_STRUCT_VARRAY_POINTER_UINT32(p_2, TestStruct2, size2,
vmstate_sub_struct, SubStruct),
+ VMSTATE_STRUCT_VARRAY_POINTER_INT32(p_3, TestStruct2, size3,
+ vmstate_sub_struct, SubStruct),
VMSTATE_STRUCT_VARRAY_UINT8(a, TestStruct2, size,
vmstate_sub_struct, SubStruct),
VMSTATE_END_OF_LIST()
@@ -1759,6 +1762,21 @@ uint8_t wire_struct_varray[] = {
/* i64 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71,
/* buffer */ 0x62, 0x79, 0x65, 0x35, 0x20, 0x20, 0x77, 0x6f,
0x72, 0x6c, 0x64, 0x21, 0x00,
+ /* p_3[0] */
+ /* i32 */ 0x00, 0x00, 0x00, 0x79,
+ /* i64 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83,
+ /* buffer */ 0x62, 0x79, 0x65, 0x36, 0x20, 0x20, 0x77, 0x6f,
+ 0x72, 0x6c, 0x64, 0x21, 0x00,
+ /* p_3[1] */
+ /* i32 */ 0x00, 0x00, 0x00, 0x7a,
+ /* i64 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
+ /* buffer */ 0x62, 0x79, 0x65, 0x37, 0x20, 0x20, 0x77, 0x6f,
+ 0x72, 0x6c, 0x64, 0x21, 0x00,
+ /* p_3[2] */
+ /* i32 */ 0x00, 0x00, 0x00, 0x7b,
+ /* i64 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85,
+ /* buffer */ 0x62, 0x79, 0x65, 0x38, 0x20, 0x20, 0x77, 0x6f,
+ 0x72, 0x6c, 0x64, 0x21, 0x00,
/* a[0] */
/* i32 */ 0x00, 0x00, 0x00, 0x15,
/* i64 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
@@ -1803,6 +1821,9 @@ static void obj_struct2_copy(void *arg1, void *arg2)
target->p_2[i].i32 = source->p_2[i].i32;
target->p_2[i].i64 = source->p_2[i].i64;
memcpy(target->p_2[i].buffer, source->p_2[i].buffer, 13);
+ target->p_3[i].i32 = source->p_3[i].i32;
+ target->p_3[i].i64 = source->p_3[i].i64;
+ memcpy(target->p_3[i].buffer, source->p_3[i].buffer, 13);
}
}
@@ -1815,6 +1836,7 @@ static TestStruct2 *create_struct2(void)
obj->size4 = 3;
obj->p_1 = g_malloc0(sizeof(SubStruct) * 3);
obj->p_2 = g_malloc0(sizeof(SubStruct) * 3);
+ obj->p_3 = g_malloc0(sizeof(SubStruct) * 3);
return obj;
}
@@ -1840,6 +1862,9 @@ static TestStruct2 *create_struct2_init(void)
obj->p_2[i].i32 = i + 101;
obj->p_2[i].i64 = i + 111;
snprintf((char *)obj->p_2[i].buffer, 13, "bye%d world!", i + 3);
+ obj->p_3[i].i32 = i + 121;
+ obj->p_3[i].i64 = i + 131;
+ snprintf((char *)obj->p_3[i].buffer, 13, "bye%d world!", i + 6);
}
return obj;
@@ -1867,6 +1892,7 @@ static void test_struct_varray(void)
memset(obj->c, 0, sizeof(obj->c));
memset(obj->p_1, 0, sizeof(*obj->p_1) * 3);
memset(obj->p_2, 0, sizeof(*obj->p_2) * 3);
+ memset(obj->p_2, 0, sizeof(*obj->p_3) * 3);
obj->size = j;
obj_struct2->size = j;
wire_struct_varray[0] = j;
@@ -1886,6 +1912,7 @@ static void test_struct_varray(void)
STRUCT_EQUAL((&obj->c[i]), (&obj_struct2->c[i]));
STRUCT_EQUAL((&obj->p_1[i]), (&obj_struct2->p_1[i]));
STRUCT_EQUAL((&obj->p_2[i]), (&obj_struct2->p_2[i]));
+ STRUCT_EQUAL((&obj->p_3[i]), (&obj_struct2->p_3[i]));
}
}
}
--
1.9.0
- [Qemu-devel] [PATCH 109/124] vmstate: Test for VMSTATE_VARRAY, (continued)
- [Qemu-devel] [PATCH 109/124] vmstate: Test for VMSTATE_VARRAY, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 107/124] vmstate: Test for VMSTATE_BUFFER_POINTER_UNSAFE, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 111/124] vmstate: Test for VMSTATE_VARRAY_UINT16_UNSAFE, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 113/124] vmstate: Test for VMSTATE_STRUCT{_TEST}, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 112/124] vmstate: Test for VMSTATE_VARRAY_INT32{_TEST}, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 117/124] vmstate: Test for VMSTATE_STRUCT_VARRAY_UINT8, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 118/124] vmstate: Test for VMSTATE_STRUCT_VARRAY_UINT32, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 119/124] vmstate: Test for VMSTATE_STRUCT_VARRAY_INT32, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 120/124] vmstate: Test for VMSTATE_STRUCT_VARRAY_POINTER_UINT16, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 121/124] vmstate: Test for VMSTATE_STRUCT_ARRAY_POINTER_UINT32, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 122/124] vmstate: Test for VMSTATE_STRUCT_VARRAY_POINTER_INT32,
Juan Quintela <=
- [Qemu-devel] [PATCH 123/124] vmstate: Test for VMSTATE_ARRAY_OF_POINTER_TO_STRUCT, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 124/124] vmstate: Test for VMSTATE_ARRAY_OF_POINTER, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 114/124] vmstate: Remove unused VMSTATE_STRUCT_POINTER_TEST, Juan Quintela, 2014/04/21
- [Qemu-devel] [PATCH 110/124] vmstate: Test for VMSTATE_VARRAY_INT32, Juan Quintela, 2014/04/21
- Re: [Qemu-devel] [PATCH v2 000/124] VMState Simplification (Massive), Peter Maydell, 2014/04/21