qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 26/27] vmstate: Test for VMSTATE_INT32_LE


From: Juan Quintela
Subject: [Qemu-devel] [PATCH 26/27] vmstate: Test for VMSTATE_INT32_LE
Date: Mon, 16 Jun 2014 11:58:22 +0200

Add tests for less/more than the value on destination.

Signed-off-by: Juan Quintela <address@hidden>
---
 include/migration/vmstate.h |  2 +-
 tests/test-vmstate.c        | 20 +++++++++++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index 4aef1cf..d7bd023 100644
--- a/include/migration/vmstate.h
+++ b/include/migration/vmstate.h
@@ -595,7 +595,7 @@ extern const VMStateInfo vmstate_info_bitmap;
     VMSTATE_SINGLE_TEST(_f, _s, NULL, 0, vmstate_info_int32_equal, int32_t)

 #define VMSTATE_INT32_POSITIVE_LE(_f, _s)                             \
-    VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_le, int32_t)
+    VMSTATE_SINGLE_TEST(_f, _s, NULL, 0, vmstate_info_int32_le, int32_t)

 #define VMSTATE_FLOAT64(_f, _s)                                       \
     VMSTATE_SINGLE_TEST(_f, _s, NULL, 0, vmstate_info_float64, float64)
diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
index 9472850..f2f59c9 100644
--- a/tests/test-vmstate.c
+++ b/tests/test-vmstate.c
@@ -374,7 +374,8 @@ static const VMStateDescription vmstate_simple_compare = {
         VMSTATE_UINT16_EQUAL_TEST(u16_3, TestSimple, test_true),
         VMSTATE_UINT32_EQUAL(u32_1, TestSimple),
         VMSTATE_UINT64_EQUAL(u64_1, TestSimple),
-        VMSTATE_INT32_EQUAL(i32_1, TestSimple),
+        VMSTATE_INT32_EQUAL(i32_2, TestSimple),
+        VMSTATE_INT32_LE(i32_1, TestSimple),
         VMSTATE_END_OF_LIST()
     }
 };
@@ -385,6 +386,7 @@ uint8_t wire_simple_compare[] = {
     /* u16_3 */ 0x02, 0x01,
     /* u32_1 */ 0x00, 0x01, 0x11, 0x70,
     /* u64_1 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xf4, 0x7c,
+    /* i32_2 */ 0xff, 0xfe, 0xee, 0x90,
     /* i32_1 */ 0x00, 0x01, 0x11, 0x70,
     QEMU_VM_EOF, /* just to ensure we won't get EOF reported prematurely */
 };
@@ -412,6 +414,22 @@ static void test_simple_compare(void)
     FAILURE(load_vmstate(&vmstate_simple_compare, &obj, &obj_clone,
                          obj_simple_copy, 1, wire_simple_compare,
                          sizeof(wire_simple_compare)));
+
+    /* testing less equal */
+
+    /* we change the value, so it is not equal anymore */
+    memcpy(&obj, &obj_simple, sizeof(obj));
+    obj.i32_1 = 8000;
+    FAILURE(load_vmstate(&vmstate_simple_compare, &obj, &obj_clone,
+                         obj_simple_copy, 1, wire_simple_compare,
+                         sizeof(wire_simple_compare)));
+
+    /* we change the value, so it is not equal anymore */
+    memcpy(&obj, &obj_simple, sizeof(obj));
+    obj.i32_1 = 80000;
+    SUCCESS(load_vmstate(&vmstate_simple_compare, &obj, &obj_clone,
+                         obj_simple_copy, 1, wire_simple_compare,
+                         sizeof(wire_simple_compare)));
 }
 #undef FIELD_EQUAL

-- 
1.9.3




reply via email to

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