diff mbox

[033/124] vmstate: Test for VMSTATE_INT32_LE

Message ID 1398091304-10677-34-git-send-email-quintela@redhat.com
State New
Headers show

Commit Message

Juan Quintela April 21, 2014, 2:40 p.m. UTC
Add tests for less/more than the value on destination.

Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 include/migration/vmstate.h |  4 ++--
 tests/test-vmstate.c        | 20 +++++++++++++++++++-
 2 files changed, 21 insertions(+), 3 deletions(-)
diff mbox

Patch

diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index 9765973..397fa1d 100644
--- a/include/migration/vmstate.h
+++ b/include/migration/vmstate.h
@@ -585,8 +585,8 @@  extern const VMStateInfo vmstate_info_bitmap;
 #define VMSTATE_INT32_EQUAL(_f, _s)                                   \
     VMSTATE_SINGLE_TEST(_f, _s, NULL, 0, vmstate_info_int32_equal, int32_t)

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


 #define VMSTATE_FLOAT64(_f, _s)                                       \
diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
index 3fc8f5e..3e871c3 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, 0x00,
     /* 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