tests/libqtest: Use a proper error message if QTEST_QEMU_BINARY is missing
The user can currently still cause an abort() if running certain tests
(like the prom-env-test) without setting the QTEST_QEMU_BINARY first.
A similar problem has been fixed with commit 7c933ad61b
already, but forgot to also take care of the qtest_get_arch() function,
so let's introduce a proper wrapper around getenv("QTEST_QEMU_BINARY")
that can be used in both locations now.
Buglink: https://bugs.launchpad.net/qemu/+bug/1713434
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
33ea6cf712
commit
db221e66d8
@ -150,6 +150,19 @@ void qtest_add_abrt_handler(GHookFunc fn, const void *data)
|
||||
g_hook_prepend(&abrt_hooks, hook);
|
||||
}
|
||||
|
||||
static const char *qtest_qemu_binary(void)
|
||||
{
|
||||
const char *qemu_bin;
|
||||
|
||||
qemu_bin = getenv("QTEST_QEMU_BINARY");
|
||||
if (!qemu_bin) {
|
||||
fprintf(stderr, "Environment variable QTEST_QEMU_BINARY required\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
return qemu_bin;
|
||||
}
|
||||
|
||||
QTestState *qtest_init_without_qmp_handshake(const char *extra_args)
|
||||
{
|
||||
QTestState *s;
|
||||
@ -157,13 +170,7 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args)
|
||||
gchar *socket_path;
|
||||
gchar *qmp_socket_path;
|
||||
gchar *command;
|
||||
const char *qemu_binary;
|
||||
|
||||
qemu_binary = getenv("QTEST_QEMU_BINARY");
|
||||
if (!qemu_binary) {
|
||||
fprintf(stderr, "Environment variable QTEST_QEMU_BINARY required\n");
|
||||
exit(1);
|
||||
}
|
||||
const char *qemu_binary = qtest_qemu_binary();
|
||||
|
||||
s = g_malloc(sizeof(*s));
|
||||
|
||||
@ -624,8 +631,7 @@ char *qtest_hmp(QTestState *s, const char *fmt, ...)
|
||||
|
||||
const char *qtest_get_arch(void)
|
||||
{
|
||||
const char *qemu = getenv("QTEST_QEMU_BINARY");
|
||||
g_assert(qemu != NULL);
|
||||
const char *qemu = qtest_qemu_binary();
|
||||
const char *end = strrchr(qemu, '/');
|
||||
|
||||
return end + strlen("/qemu-system-");
|
||||
|
Loading…
Reference in New Issue
Block a user