Signed-off-by: Juan Quintela <quint...@redhat.com> --- tests/test-vmstate.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c index ea24f26..4fa235d 100644 --- a/tests/test-vmstate.c +++ b/tests/test-vmstate.c @@ -1104,13 +1104,18 @@ static void test_buffer_test(void) typedef struct TestVBuffer { int32_t size; uint8_t *buffer; + uint32_t size2; + uint8_t *buffer2; } TestVBuffer; uint8_t test_buffer[VMSTATE_ARRAY_SIZE] = { 1, 2, 3, 4, 5}; +uint8_t test_buffer2[VMSTATE_ARRAY_SIZE] = { 6, 7, 8, 9, 10}; TestVBuffer obj_vbuffer = { .size = VMSTATE_ARRAY_SIZE, .buffer = test_buffer, + .size2 = VMSTATE_ARRAY_SIZE, + .buffer2 = test_buffer2, }; static const VMStateDescription vmstate_vbuffer_simple = { @@ -1120,14 +1125,18 @@ static const VMStateDescription vmstate_vbuffer_simple = { .minimum_version_id_old = 1, .fields = (VMStateField[]) { VMSTATE_INT32(size, TestVBuffer), + VMSTATE_UINT32(size2, TestVBuffer), VMSTATE_VBUFFER_INT32(buffer, TestVBuffer, size), + VMSTATE_VBUFFER_UINT32(buffer2, TestVBuffer, size2), VMSTATE_END_OF_LIST() } }; uint8_t wire_vbuffer_simple[] = { /* size */ 0x00, 0x00, 0x00, 0x05, + /* size2 */ 0x00, 0x00, 0x00, 0x05, /* buffer */ 0x01, 0x02, 0x03, 0x04, 0x05, + /* buffer2 */ 0x06, 0x07, 0x08, 0x09, 0x0a, QEMU_VM_EOF, /* just to ensure we won't get EOF reported prematurely */ }; @@ -1169,14 +1178,17 @@ static void test_vbuffer_simple(void) loading = open_test_file(false); TestVBuffer obj; uint8_t local[VMSTATE_ARRAY_SIZE]; + uint8_t local2[VMSTATE_ARRAY_SIZE]; obj.buffer = local; + obj.buffer2 = local2; SUCCESS(vmstate_load_state(loading, &vmstate_vbuffer_simple, &obj, 1)); g_assert(!qemu_file_get_error(loading)); qemu_fclose(loading); SUCCESS(memcmp(obj.buffer, obj_vbuffer.buffer, VMSTATE_ARRAY_SIZE)); + SUCCESS(memcmp(obj.buffer2, obj_vbuffer.buffer2, VMSTATE_ARRAY_SIZE)); } #undef FIELD_ASSERT -- 1.9.0