tests/qtest: failover: use a macro for check_one_card()

This allows g_assert() to correctly report the line number of the error
in the test case.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20220203141537.972317-3-lvivier@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Laurent Vivier 2022-02-03 15:15:32 +01:00 committed by Thomas Huth
parent fbd2913cce
commit 1a800870c5

View File

@ -224,32 +224,27 @@ static char *get_mac(QTestState *qts, const char *name)
return mac; return mac;
} }
static void check_one_card(QTestState *qts, bool present, #define check_one_card(qts, present, id, mac) \
const char *id, const char *mac) do { \
{ QDict *device; \
QDict *device; QDict *bus; \
QDict *bus; char *addr; \
char *addr; bus = get_bus(qts, 0); \
device = find_device(bus, id); \
bus = get_bus(qts, 0); if (present) { \
device = find_device(bus, id); char *path; \
if (present) { g_assert_nonnull(device); \
char *path; qobject_unref(device); \
path = g_strdup_printf("/machine/peripheral/%s", id); \
g_assert_nonnull(device); addr = get_mac(qts, path); \
qobject_unref(device); g_free(path); \
g_assert_cmpstr(mac, ==, addr); \
path = g_strdup_printf("/machine/peripheral/%s", id); g_free(addr); \
addr = get_mac(qts, path); } else { \
g_free(path); g_assert_null(device); \
g_assert_cmpstr(mac, ==, addr); } \
g_free(addr); qobject_unref(bus); \
} else { } while (0)
g_assert_null(device);
}
qobject_unref(bus);
}
static void test_on(void) static void test_on(void)
{ {