From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51209) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WX08z-00065F-6q for qemu-devel@nongnu.org; Sun, 06 Apr 2014 23:22:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WX08s-0008HY-O7 for qemu-devel@nongnu.org; Sun, 06 Apr 2014 23:22:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48350) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WX08s-0008HS-Dw for qemu-devel@nongnu.org; Sun, 06 Apr 2014 23:22:38 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s373MbPn025658 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 6 Apr 2014 23:22:38 -0400 From: Juan Quintela Date: Mon, 7 Apr 2014 05:20:46 +0200 Message-Id: <1396840915-10384-29-git-send-email-quintela@redhat.com> In-Reply-To: <1396840915-10384-1-git-send-email-quintela@redhat.com> References: <1396840915-10384-1-git-send-email-quintela@redhat.com> Subject: [Qemu-devel] [PATCH 28/97] vmstate: Test for VMSTATE_INT32_LE List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Add tests for less/more than the value on destination. Signed-off-by: Juan Quintela --- 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