qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 37/97] vmstate: Test for VMSTATE_INT32_ARRAY{_TEST}


From: Juan Quintela
Subject: [Qemu-devel] [PATCH 37/97] vmstate: Test for VMSTATE_INT32_ARRAY{_TEST}
Date: Mon, 7 Apr 2014 05:20:55 +0200

Change only user of _V to _TEST.

Signed-off-by: Juan Quintela <address@hidden>
---
 hw/pci-host/piix.c          |  4 ++--
 include/migration/vmstate.h | 12 ++++++------
 tests/test-vmstate.c        | 18 ++++++++++++++++++
 3 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index e0e0946..a6c6834 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -567,8 +567,8 @@ static const VMStateDescription vmstate_piix3 = {
     .pre_save = piix3_pre_save,
     .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, PIIX3State),
-        VMSTATE_INT32_ARRAY_V(pci_irq_levels_vmstate, PIIX3State,
-                              PIIX_NUM_PIRQS, 3),
+        VMSTATE_INT32_ARRAY_TEST(pci_irq_levels_vmstate, PIIX3State,
+                                 PIIX_NUM_PIRQS, vmstate_3_plus),
         VMSTATE_END_OF_LIST()
     },
     .subsections = (VMStateSubsection[]) {
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index 5e62206..20062ff 100644
--- a/include/migration/vmstate.h
+++ b/include/migration/vmstate.h
@@ -627,6 +627,12 @@ extern const VMStateInfo vmstate_info_bitmap;
 #define VMSTATE_INT16_ARRAY(_f, _s, _n)                               \
     VMSTATE_ARRAY_TEST(_f, _s, _n, NULL, vmstate_info_int16, int16_t)

+#define VMSTATE_INT32_ARRAY_TEST(_f, _s, _n, _t)                      \
+    VMSTATE_ARRAY_TEST(_f, _s, _n, _t, vmstate_info_int32, int32_t)
+
+#define VMSTATE_INT32_ARRAY(_f, _s, _n)                               \
+    VMSTATE_INT32_ARRAY_TEST(_f, _s, _n, NULL)
+
 #define VMSTATE_UINT16_2DARRAY_V(_f, _s, _n1, _n2, _v)                \
     VMSTATE_2DARRAY(_f, _s, _n1, _n2, _v, vmstate_info_uint16, uint16_t)

@@ -648,12 +654,6 @@ extern const VMStateInfo vmstate_info_bitmap;
 #define VMSTATE_UINT32_2DARRAY(_f, _s, _n1, _n2)                      \
     VMSTATE_UINT32_2DARRAY_V(_f, _s, _n1, _n2, 0)

-#define VMSTATE_INT32_ARRAY_V(_f, _s, _n, _v)                         \
-    VMSTATE_ARRAY(_f, _s, _n, _v, vmstate_info_int32, int32_t)
-
-#define VMSTATE_INT32_ARRAY(_f, _s, _n)                               \
-    VMSTATE_INT32_ARRAY_V(_f, _s, _n, 0)
-
 #define VMSTATE_UINT32_SUB_ARRAY(_f, _s, _start, _num)                \
     VMSTATE_SUB_ARRAY(_f, _s, _start, _num, 0, vmstate_info_uint32, uint32_t)

diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
index e800be0..348851d 100644
--- a/tests/test-vmstate.c
+++ b/tests/test-vmstate.c
@@ -548,6 +548,8 @@ typedef struct TestArray {
     uint64_t u64_1[VMSTATE_ARRAY_SIZE];
     uint64_t u64_2[VMSTATE_ARRAY_SIZE];
     int16_t i16_1[VMSTATE_ARRAY_SIZE];
+    int32_t i32_1[VMSTATE_ARRAY_SIZE];
+    int32_t i32_2[VMSTATE_ARRAY_SIZE];
 } TestArray;

 TestArray obj_array = {
@@ -562,6 +564,8 @@ TestArray obj_array = {
     .u64_1 = {31, 32, 33, 34, 35},
     .u64_2 = {35, 34, 33, 32, 31},
     .i16_1 = {41, 42, 43, 44, 45},
+    .i32_1 = {51, 52, 53, 54, 55},
+    .i32_2 = {55, 54, 53, 52, 51},
 };

 static const VMStateDescription vmstate_array_primitive = {
@@ -577,6 +581,7 @@ static const VMStateDescription vmstate_array_primitive = {
         VMSTATE_UINT32_ARRAY(u32_1, TestArray, VMSTATE_ARRAY_SIZE),
         VMSTATE_UINT64_ARRAY(u64_1, TestArray, VMSTATE_ARRAY_SIZE),
         VMSTATE_INT16_ARRAY(i16_1, TestArray, VMSTATE_ARRAY_SIZE),
+        VMSTATE_INT32_ARRAY(i32_1, TestArray, VMSTATE_ARRAY_SIZE),
         VMSTATE_END_OF_LIST()
     }
 };
@@ -595,6 +600,9 @@ uint8_t wire_array_primitive[] = {
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23,
     /* i16_1 */ 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d,
+    /* i32_1 */ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x34,
+                0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36,
+                0x00, 0x00, 0x00, 0x37,
     QEMU_VM_EOF, /* just to ensure we won't get EOF reported prematurely */
 };

@@ -655,6 +663,7 @@ static void test_array_primitive(void)
         ELEM_ASSERT(u32_1, i);
         ELEM_ASSERT(u64_1, i);
         ELEM_ASSERT(i16_1, i);
+        ELEM_ASSERT(i32_1, i);
     }

     /* We save the file again.  We want the EOF this time */
@@ -689,6 +698,10 @@ static const VMStateDescription vmstate_array_test = {
                                   test_true),
         VMSTATE_UINT64_ARRAY_TEST(u64_2, TestArray, VMSTATE_ARRAY_SIZE,
                                   test_false),
+        VMSTATE_INT32_ARRAY_TEST(i32_1, TestArray, VMSTATE_ARRAY_SIZE,
+                                 test_true),
+        VMSTATE_INT32_ARRAY_TEST(i32_2, TestArray, VMSTATE_ARRAY_SIZE,
+                                 test_false),
         VMSTATE_END_OF_LIST()
     }
 };
@@ -704,6 +717,9 @@ uint8_t wire_array_test[] = {
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23,
+    /* i32_1 */ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x34,
+                0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36,
+                0x00, 0x00, 0x00, 0x37,
     QEMU_VM_EOF, /* just to ensure we won't get EOF reported prematurely */
 };

@@ -757,6 +773,8 @@ static void test_array_test(void)
         ELEM_NOT_ASSERT(u32_2, i);
         ELEM_ASSERT(u64_1, i);
         ELEM_NOT_ASSERT(u64_2, i);
+        ELEM_ASSERT(i32_1, i);
+        ELEM_NOT_ASSERT(i32_2, i);
     }
 }
 #undef FIELD_ASSERT
-- 
1.9.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]