@@ -811,6 +811,8 @@ static const VMStateDescription vmstate_array_sub = {
.fields = (VMStateField[]) {
VMSTATE_UINT8_SUB_ARRAY(u8_1, TestArray, 0, VMSTATE_ARRAY_SIZE),
VMSTATE_UINT8_SUB_ARRAY(u8_2, TestArray, 2 , 2),
+ VMSTATE_UINT32_SUB_ARRAY(u32_1, TestArray, 0, VMSTATE_ARRAY_SIZE),
+ VMSTATE_UINT32_SUB_ARRAY(u32_2, TestArray, 2 , 2),
VMSTATE_END_OF_LIST()
}
};
@@ -818,6 +820,10 @@ static const VMStateDescription vmstate_array_sub = {
uint8_t wire_array_sub[] = {
/* u8_1 */ 0x01, 0x02, 0x03, 0x04, 0x05,
/* u8_2 {3,4} */ 0x03, 0x02,
+ /* u32_1 */ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x19,
+ /* u32_2 {3,4}*/ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x16,
QEMU_VM_EOF, /* just to ensure we won't get EOF reported prematurely */
};
@@ -839,15 +845,19 @@ static void test_array_sub(void)
for (i = 0; i < VMSTATE_ARRAY_SIZE; i++) {
ELEM_EQUAL(u8_1, i);
+ ELEM_EQUAL(u32_1, i);
}
for (i = 0; i < 2; i++) {
ELEM_NOT_EQUAL(u8_2, i);
+ ELEM_NOT_EQUAL(u32_2, i);
}
for (i = 2; i < 4; i++) {
ELEM_EQUAL(u8_2, i);
+ ELEM_EQUAL(u32_2, i);
}
for (i = 4; i < VMSTATE_ARRAY_SIZE; i++) {
ELEM_NOT_EQUAL(u8_2, i);
+ ELEM_NOT_EQUAL(u32_2, i);
}
}
#undef FIELD_EQUAL
Signed-off-by: Juan Quintela <quintela@redhat.com> --- tests/test-vmstate.c | 10 ++++++++++ 1 file changed, 10 insertions(+)