diff mbox

[97/97] vmstate: Test for VMSTATE_VBUFFER_UINT32

Message ID 1396840915-10384-98-git-send-email-quintela@redhat.com
State New
Headers show

Commit Message

Juan Quintela April 7, 2014, 3:21 a.m. UTC
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 tests/test-vmstate.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff mbox

Patch

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