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:
parent
fbd2913cce
commit
1a800870c5
@ -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)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user