qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 28/97] vmstate: Test for VMSTATE_INT32_LE


From: Juan Quintela
Subject: [Qemu-devel] [PATCH 28/97] vmstate: Test for VMSTATE_INT32_LE
Date: Mon, 7 Apr 2014 05:20:46 +0200

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

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

diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index 9eec546..8707c4f 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 70f27f8..d52f722 100644
--- a/tests/test-vmstate.c
+++ b/tests/test-vmstate.c
@@ -353,7 +353,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()
     }
 };
@@ -364,6 +365,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 */
 };
@@ -419,6 +421,27 @@ static void test_simple_compare(void)
     FAILURE(vmstate_load_state(loading, &vmstate_simple_compare, &obj, 1));
     g_assert(!qemu_file_get_error(loading));
     qemu_fclose(loading);
+
+    /* testing less equal */
+
+    loading = open_test_file(false);
+    memcpy(&obj, &obj_simple, sizeof(obj));
+    /* value on the wire is bigger, so fail */
+    obj.i32_1 = 8000;
+
+    FAILURE(vmstate_load_state(loading, &vmstate_simple_compare, &obj, 1));
+    g_assert(!qemu_file_get_error(loading));
+    qemu_fclose(loading);
+
+    loading = open_test_file(false);
+    memcpy(&obj, &obj_simple, sizeof(obj));
+    /* value on the wire is lower, so success */
+    obj.i32_1 = 80000;
+
+    SUCCESS(vmstate_load_state(loading, &vmstate_simple_compare, &obj, 1));
+    g_assert(!qemu_file_get_error(loading));
+    qemu_fclose(loading);
+
 }
 #undef FIELD_ASSERT

-- 
1.9.0




reply via email to

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