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;
|
||||
}
|
||||
|
||||
static void check_one_card(QTestState *qts, bool present,
|
||||
const char *id, const char *mac)
|
||||
{
|
||||
QDict *device;
|
||||
QDict *bus;
|
||||
char *addr;
|
||||
|
||||
bus = get_bus(qts, 0);
|
||||
device = find_device(bus, id);
|
||||
if (present) {
|
||||
char *path;
|
||||
|
||||
g_assert_nonnull(device);
|
||||
qobject_unref(device);
|
||||
|
||||
path = g_strdup_printf("/machine/peripheral/%s", id);
|
||||
addr = get_mac(qts, path);
|
||||
g_free(path);
|
||||
g_assert_cmpstr(mac, ==, addr);
|
||||
g_free(addr);
|
||||
} else {
|
||||
g_assert_null(device);
|
||||
}
|
||||
|
||||
qobject_unref(bus);
|
||||
}
|
||||
#define check_one_card(qts, present, id, mac) \
|
||||
do { \
|
||||
QDict *device; \
|
||||
QDict *bus; \
|
||||
char *addr; \
|
||||
bus = get_bus(qts, 0); \
|
||||
device = find_device(bus, id); \
|
||||
if (present) { \
|
||||
char *path; \
|
||||
g_assert_nonnull(device); \
|
||||
qobject_unref(device); \
|
||||
path = g_strdup_printf("/machine/peripheral/%s", id); \
|
||||
addr = get_mac(qts, path); \
|
||||
g_free(path); \
|
||||
g_assert_cmpstr(mac, ==, addr); \
|
||||
g_free(addr); \
|
||||
} else { \
|
||||
g_assert_null(device); \
|
||||
} \
|
||||
qobject_unref(bus); \
|
||||
} while (0)
|
||||
|
||||
static void test_on(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user